org.eclipse.ocl.examples.domain.library
Class EvaluatorSingleIterationManager
java.lang.Object
org.eclipse.ocl.examples.domain.library.AbstractIterationManager
org.eclipse.ocl.examples.domain.library.EvaluatorIterationManager
org.eclipse.ocl.examples.domain.library.EvaluatorSingleIterationManager
- All Implemented Interfaces:
- DomainIterationManager
public class EvaluatorSingleIterationManager
- extends EvaluatorIterationManager
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
referredIterator
@NonNull
protected final DomainTypedElement referredIterator
iterator
@NonNull
protected final EvaluatorIterationManager.ValueIterator iterator
EvaluatorSingleIterationManager
public EvaluatorSingleIterationManager(@NonNull
DomainEvaluator invokingEvaluator,
@NonNull
DomainExpression body,
@NonNull
CollectionValue collectionValue,
@Nullable
DomainTypedElement accumulator,
@Nullable
java.lang.Object accumulatorValue,
@NonNull
DomainTypedElement referredIterator)
EvaluatorSingleIterationManager
protected EvaluatorSingleIterationManager(@NonNull
EvaluatorSingleIterationManager iterationManager,
@NonNull
CollectionValue value)
advanceIterators
public boolean advanceIterators()
- Description copied from interface:
DomainIterationManager
- Advance the iterators to the next iteration, returning false once all possible
iterator states have been exhausted.
createNestedIterationManager
@NonNull
public DomainIterationManager createNestedIterationManager(@NonNull
CollectionValue value)
- Description copied from interface:
DomainIterationManager
- Create a nested iteration supervisor.
This method supports the closure iteration for which there is only a single iterator,
and so this method need only be supported by single iterator managers.
- Specified by:
createNestedIterationManager
in interface DomainIterationManager
- Overrides:
createNestedIterationManager
in class AbstractIterationManager
- Parameters:
value
- the nested iteration domain
- Returns:
- the iteration space
get
@Nullable
public java.lang.Object get()
- Description copied from interface:
DomainIterationManager
- Get the current state of the iterator.
This is only supported for single iterator iterations.
- Specified by:
get
in interface DomainIterationManager
- Overrides:
get
in class AbstractIterationManager
getDepth
public int getDepth()
getRootIterationManager
@NonNull
public EvaluatorSingleIterationManager getRootIterationManager()
hasCurrent
public boolean hasCurrent()
- Description copied from interface:
DomainIterationManager
- Return true if the iterators have a step to be evaluated.
isOuterIteration
public boolean isOuterIteration()
- Description copied from interface:
DomainIterationManager
- Get the current iteration depth.
This is only supported for single iterator recursive iterations such as closure.
- Specified by:
isOuterIteration
in interface DomainIterationManager
- Overrides:
isOuterIteration
in class AbstractIterationManager