public class ExecutorDoubleIterationManager extends AbstractIterationManager
Modifier and Type | Field and Description |
---|---|
protected LibraryTernaryOperation |
body |
protected CollectionValue |
collectionValue |
protected TypeId |
returnTypeId |
evaluator
Constructor and Description |
---|
ExecutorDoubleIterationManager(Evaluator evaluator,
TypeId returnTypeId,
LibraryTernaryOperation body,
CollectionValue collectionValue,
java.lang.Object accumulatorValue) |
Modifier and Type | Method and Description |
---|---|
boolean |
advanceIterators()
Advance the iterators to the next iteration, returning false once all possible
iterator states have been exhausted.
|
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 |
getSourceCollection()
Return the source collection over which this (nested) iteration iterates.
|
boolean |
hasCurrent()
Return true if the iterators have a step to be evaluated.
|
java.lang.Object |
updateAccumulator(java.lang.Object newValue)
Update the accumulator witrh the result of a body iteration.
|
createNestedIterationManager, dispose, get, getEvaluator, getStandardLibrary
@NonNull protected final LibraryTernaryOperation body
@NonNull protected final CollectionValue collectionValue
public ExecutorDoubleIterationManager(@NonNull Evaluator evaluator, @NonNull TypeId returnTypeId, @NonNull LibraryTernaryOperation body, @Nullable CollectionValue collectionValue, @Nullable java.lang.Object accumulatorValue)
public boolean advanceIterators()
IterationManager
@Nullable public java.lang.Object evaluateBody()
IterationManager
@Nullable public java.lang.Object getAccumulatorValue()
IterationManager
@NonNull public CollectionValue getSourceCollection()
IterationManager
public boolean hasCurrent()
IterationManager
@Nullable public java.lang.Object updateAccumulator(java.lang.Object newValue)
IterationManager