public interface IQueryCollectionImplementation extends IQueryImplementation
If only IQueryImplementation is implemented, then the framework will perform multiple-evaluation by calling
the single evaluation multiple times, which may be slow in the case of high-latency implementations.
| Modifier and Type | Method and Description |
|---|---|
java.util.List<? extends ETypedElementResult> |
getValues(Query query,
ETypedElement eTypedElement,
java.util.Collection<? extends EObject> sources,
java.util.List<ParameterValue> arguments)
This method must be implemented by each sub-class to evaluate a query on a collection of elements.
|
void |
setValues(Query query,
DerivedTypedElement feature,
java.util.Collection<? extends EObject> sources,
java.util.List<ParameterValue> arguments,
java.util.List<? extends java.lang.Object> newValues)
This method must be implemented by each sub-class to set the values of a collection of elements.
|
getValue, isCheckResultType, setValuejava.util.List<? extends ETypedElementResult> getValues(Query query, ETypedElement eTypedElement, java.util.Collection<? extends EObject> sources, java.util.List<ParameterValue> arguments) throws DerivedTypedElementException
This method should throw a DerivedTypedElementException only if the eTypedElement is an incorrect
DerivedTypedElement. But it must not throw an exception if the evaluation of one element fails. Instead,
it must set the exception on the corresponding result (ETypedElementResult.setException(Throwable)).
query - The query to evaluateeTypedElement - The feature or operation to get on the sourcessources - The model elements on which the feature or operation is evaluated using the queryarguments - The parameter values for the eTypedElement (in the case of a FacetOperation); can be
nullETypedElementPrimitiveTypeResult if the eTypedElement is single-valued and returns
a primitive type ETypedElementPrimitiveTypeListResult if the eTypedElement is
multi-valued and returns a primitive type ETypedElementEObjectResult if the
eTypedElement is single-valued and returns a model element ETypedElementEObjectListResult if the eTypedElement is multi-valued and returns model elements
DerivedTypedElementException - if the given derivedTypedElement is incorrectvoid setValues(Query query, DerivedTypedElement feature, java.util.Collection<? extends EObject> sources, java.util.List<ParameterValue> arguments, java.util.List<? extends java.lang.Object> newValues) throws DerivedTypedElementException
query - The query to evaluatefeature - The derived typed element to setsources - The model elements on which the query is evaluatedarguments - The parameter values for the derived typed element (in the case of a FacetOperation); can be
nullnewValues - the new values for the sources; the size of this list must match the size of the list of sourcesDerivedTypedElementException - if the given derivedTypedElement is incorrectDerivedTypedElementEvaluationException - if the query could not be evaluated correctlyjava.lang.IllegalArgumentException - if the given list of values does not match the list of sources