/** | |
* Copyright (c) 2012 CEA LIST. | |
* 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: | |
* Gregoire Dupe (Mia-Software) - Bug 375087 - [Table] ITableWidget.addColumn(List<ETypedElement>, List<FacetSet>) | |
* Gregoire Dupe (Mia-Software) - Bug 372626 - Aggregates | |
*/ | |
package org.eclipse.modisco.facet.efacet.core.internal.exported; | |
import java.util.List; | |
/** | |
* The interface has to be implemented to contribute to the extension point | |
* 'org.eclipse.modisco.facet.efacet.core.internal.resolver'. | |
*/ | |
public interface IResolver { | |
/** | |
* Return true is the parameter object can be handle by the implementation | |
* of this interface. | |
* | |
* @param object | |
* @return | |
*/ | |
boolean canHandle(Object object); | |
/** | |
* If the parameter 'object' is a proxy, this method returns the | |
* corresponding a resolved object. | |
* | |
* @param object | |
* a proxy | |
* @param aClass | |
* the expected resolved object | |
*/ | |
<T> T resolve(Object object, Class<T> aClass); | |
/** | |
* This method returns the objects that have to be automatically selected | |
* when the parameter 'selectedObject' is selected. | |
* | |
* @param selectedObject | |
* @param aClass | |
* the expected list elements type. | |
*/ | |
<T> List<T> selectionPropagation(Object selectedObject, Class<T> aClass); | |
/** | |
* This method returns the root of the objects that have to be automatically | |
* selected when the parameter 'selectedObject' is selected. | |
* | |
* @param selectedObject | |
* @param aClass | |
* the expected list elements type. | |
*/ | |
<T> T selectionRoot(Object selectedObject, Class<T> aClass); | |
} |