public abstract class EvaluatorIterationManager extends AbstractIterationManager
Modifier and Type | Class and Description |
---|---|
protected static class |
EvaluatorIterationManager.ValueIterator |
Modifier and Type | Field and Description |
---|---|
protected DomainTypedElement |
accumulatorVariable |
protected DomainExpression |
body |
protected CollectionValue |
collectionValue |
evaluator
Constructor and Description |
---|
EvaluatorIterationManager(DomainEvaluator evaluator,
DomainExpression body,
CollectionValue collectionValue,
DomainTypedElement accumulatorVariable,
java.lang.Object accumulatorValue) |
EvaluatorIterationManager(EvaluatorIterationManager iterationManager,
CollectionValue collectionValue) |
Modifier and Type | Method and Description |
---|---|
protected static EvaluatorIterationManager.ValueIterator[] |
createIterators(DomainTypedElement[] referredIterators,
DomainEvaluator evaluator,
CollectionValue collectionValue) |
java.lang.Object |
evaluateBody()
Evaluate the iteration body for the current iterators and return the evaluation result.
|
java.lang.Object |
getAccumulatorValue()
Get the current state of the accumulator.
|
CollectionValue |
getCollectionValue() |
DomainEvaluationEnvironment |
getEvaluationEnvironment() |
CollectionValue |
getSourceCollection()
Return the source collection over which this (nested) iteration iterates.
|
java.lang.String |
toString() |
java.lang.Object |
updateAccumulator(java.lang.Object newValue)
Update the accumulator witrh the result of a body iteration.
|
createNestedIterationManager, get, getEvaluator, getStandardLibrary, isOuterIteration
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
advanceIterators, hasCurrent
@NonNull protected final CollectionValue collectionValue
@NonNull protected final DomainExpression body
@Nullable protected final DomainTypedElement accumulatorVariable
public EvaluatorIterationManager(@NonNull DomainEvaluator evaluator, @NonNull DomainExpression body, @NonNull CollectionValue collectionValue, @Nullable DomainTypedElement accumulatorVariable, @Nullable java.lang.Object accumulatorValue)
public EvaluatorIterationManager(@NonNull EvaluatorIterationManager iterationManager, @NonNull CollectionValue collectionValue)
protected static EvaluatorIterationManager.ValueIterator[] createIterators(@NonNull DomainTypedElement[] referredIterators, @NonNull DomainEvaluator evaluator, @NonNull CollectionValue collectionValue)
@Nullable public java.lang.Object evaluateBody()
DomainIterationManager
@Nullable public java.lang.Object getAccumulatorValue()
DomainIterationManager
@NonNull public CollectionValue getCollectionValue()
@NonNull public DomainEvaluationEnvironment getEvaluationEnvironment()
@NonNull public CollectionValue getSourceCollection()
DomainIterationManager
public java.lang.String toString()
toString
in class java.lang.Object
@Nullable public java.lang.Object updateAccumulator(java.lang.Object newValue)
DomainIterationManager