| //------------------------------------------------------------------------------ |
| // Copyright (c) 2005, 2006 IBM Corporation and others. |
| // All rights reserved. This program and the accompanying materials |
| // are made available under the terms of the Eclipse Public License v1.0 |
| // which accompanies this distribution, and is available at |
| // http://www.eclipse.org/legal/epl-v10.html |
| // |
| // Contributors: |
| // IBM Corporation - initial implementation |
| //------------------------------------------------------------------------------ |
| package org.eclipse.epf.library; |
| |
| import java.util.List; |
| |
| import org.eclipse.epf.library.configuration.closure.ElementDependencyError; |
| import org.eclipse.epf.uma.MethodConfiguration; |
| import org.eclipse.epf.uma.MethodLibrary; |
| |
| /** |
| * The interface for a Method Configuration Closure. |
| * |
| * @author Kelvin Low |
| * @since 1.0 |
| */ |
| public interface IConfigurationClosure { |
| |
| /** |
| * Returns the method configuration manager. |
| * |
| * @return a configuration manager |
| */ |
| public IConfigurationManager getConfigurationManager(); |
| |
| /** |
| * Returns the method configuration. |
| * |
| * @return a method configuration |
| */ |
| public MethodConfiguration getConfiguration(); |
| |
| /** |
| * Returns the containining method library. |
| * |
| * @return a method library |
| */ |
| public MethodLibrary getLibrary(); |
| |
| /** |
| * Sets the method plug-ins and packages selection. |
| * |
| * @param elements |
| * an array of method plug-ins and packages |
| */ |
| //public void setSelections(Object[] elements); |
| |
| /** |
| * Checks whether a method plug-in or package is selected. |
| * |
| * @return <code>true</code> if the given element is selected |
| */ |
| public boolean isSelected(Object input); |
| |
| /** |
| * Gets the element dependency error for a method element. |
| * |
| * @element A method element. |
| * |
| * @return an array of <code>ElementDependencyError</code> |
| */ |
| public ElementDependencyError getError(Object element); |
| |
| /** |
| * Checks whether the closure has any error. |
| * |
| * @return <code>true</code> if the closure has one or more errors |
| */ |
| public boolean hasError(); |
| |
| /** |
| * Checks whether the closure has any problem. |
| * |
| * @return <code>true</code> if the closure has one or more problems.\ |
| */ |
| public boolean hasProblem(); |
| |
| /** |
| * Returns all the errors. |
| * |
| * @return a list of <code>ErrorInfo</code> |
| */ |
| public List getAllErrors(); |
| |
| /** |
| * Returns all the dependency errors. |
| * |
| * @return an array of <code>ElementDependencyError</code> |
| */ |
| public Object[] getDependencyErrors(); |
| |
| /** |
| * Returns all the invalid elements. |
| * |
| * @return a list of invalid elements |
| */ |
| public List getInvalidElements(); |
| |
| /** |
| * Returns all the changed elements. These are elements whose check states |
| * have changed or whose image have changed due to error. |
| * |
| * @return a list of changed method elements |
| */ |
| //public List getChangedElements(); |
| |
| /** |
| * Returns the method plug-ins and packages selection. |
| * |
| * @return an array of method plug-ins and packages |
| */ |
| public Object[] getSelection(); |
| |
| /** |
| * fix the errors in the configurations |
| */ |
| public void fixErrors(); |
| |
| /** |
| * Fixes all errors and warnings in the closure. |
| */ |
| public void fixProblems(); |
| |
| /** |
| * Saves the method configuration. |
| */ |
| //public void saveMethodConfiguration(); |
| |
| /** |
| * Packages the library based on the selection. |
| * <p> |
| * Note: This will change the current library. Before calling this method, a |
| * copy of the current library should be created with the following steps: |
| * 1. Create a new <code>ConfigurationManager</code> with a copy of the |
| * original library, 2. Rebuild the dependency, 3. Create a |
| * <code>ConfigurationClosure</code> with the current configuration. |
| * |
| * @param removeBrokenReferences |
| * if <code>true</code>, remove all broken references |
| * @return a method library |
| */ |
| public MethodLibrary packageLibrary(boolean removeBrokenReferences); |
| |
| /** |
| * Disposes resources allocated by this closure. |
| */ |
| public void dispose(); |
| |
| } |