org.eclipse.ocl.examples.library.iterator
Class ClosureIteration
java.lang.Object
org.eclipse.ocl.examples.domain.library.AbstractFeature
org.eclipse.ocl.examples.domain.library.AbstractIteration
org.eclipse.ocl.examples.library.iterator.ClosureIteration
- All Implemented Interfaces:
- LibraryFeature, LibraryIteration
public class ClosureIteration
- extends AbstractIteration
ClosureIteration realizes the Collection::closure() library iteration.
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
INSTANCE
public static final ClosureIteration INSTANCE
ClosureIteration
public ClosureIteration()
createAccumulatorValue
public CollectionValue.Accumulator createAccumulatorValue(DomainEvaluator evaluator,
DomainType accumulatorType,
DomainType bodyType)
- Description copied from interface:
LibraryIteration
- Create the value that will accumulate the iteration results.
- Parameters:
evaluator
- that supervises evaluation
- Returns:
- the accumulator
getValidator
public LibraryValidator getValidator(DomainStandardLibrary standardLibrary)
- Description copied from interface:
LibraryFeature
- Return a validator for a CallExp using this feature. May return null for no validator.
Validation occurs during analysis with the pivot model using facilities that are not needed
for evaluation. This method enables a pivot-unaware evaluation plugin to load a validator
from a pivot-aware plugin without imposing a pivot dependency.
- Specified by:
getValidator
in interface LibraryFeature
- Overrides:
getValidator
in class AbstractFeature
- Parameters:
standardLibrary
- a context to assist in class loading.
- Returns:
updateAccumulator
protected Value updateAccumulator(DomainIterationManager iterationManager)
- Recursively evaluates the iterator body expression.
- Specified by:
updateAccumulator
in class AbstractIteration
- Parameters:
iterationManager
- the iteration context
- Returns:
- non-null premature result of iteration, or null if complete