public abstract class AbstractIteration extends AbstractFeature implements LibraryIteration.LibraryIterationExtension
Modifier and Type | Class and Description |
---|---|
static class |
AbstractIteration.MutableObject
A MutableObject may be used as an iteration accumulatior containing a single changing value.
|
LibraryIteration.LibraryIterationExtension
EMPTY_BAG, EMPTY_SET, FALSE_VALUE, INTEGER_MAX_VALUE, INTEGER_MIN_VALUE, INVALID_VALUE, LONG_MAX_VALUE, LONG_MIN_VALUE, NULL_STRING, NULL_VALUE, ONE_VALUE, TRUE_VALUE, UNLIMITED_ONE_VALUE, UNLIMITED_VALUE, ZERO_VALUE
Constructor and Description |
---|
AbstractIteration() |
Modifier and Type | Method and Description |
---|---|
Object |
evaluateIteration(IterationManager iterationManager)
The default iteration algorithm steps through the iteration domain by invoking
IterationManager.hasCurrent() and IterationManager.advanceIterators() . |
asBagValue, asBoolean, asClass, asCollectionType, asCollectionValue, asInteger, asIntegerValue, asMapType, asMapValue, asNavigableObject, asNavigableObject, asObject, asOrderedCollectionValue, asOrderedSetValue, asRealValue, asSequenceValue, asSetValue, asString, asTupleValue, asType, asUniqueCollectionValue, asUnlimitedNaturalValue, asValue, bigDecimalValueOf, bigIntegerValueOf, byteValueOf, characterValueOf, computeCollectionHashCode, createBagAccumulatorValue, createBagOfEach, createBagRange, createBagValue, createCollectionAccumulatorValue, createInvalidValue, createMapEntry, createMapOfEach, createMapValue, createObjectValue, createOrderedSetAccumulatorValue, createOrderedSetOfEach, createOrderedSetRange, createOrderedSetValue, createRange, createSequenceAccumulatorValue, createSequenceOfEach, createSequenceRange, createSequenceRange, createSequenceValue, createSetAccumulatorValue, createSetOfEach, createSetRange, createSetValue, createTupleOfEach, createTupleValue, doubleValueOf, floatValueOf, getElementIdName, getExecutor, getTypeName, initAllStatics, integerValueOf, integerValueOf, integerValueOf, integerValueOf, integerValueOf, intValueOf, isBoxed, isCollectionValue, isEcore, isIntegerNumber, isIntegerValue, isRealNumber, isUnboxed, isUnlimited, longValueOf, numberValueOf, oclToString, realValueOf, realValueOf, realValueOf, realValueOf, realValueOf, shortValueOf, stringValueOf, throwBooleanInvalidValueException, throwInvalidValueException, throwUnsupportedCompareTo, toString, typedIterable, unlimitedNaturalValueOf, unlimitedNaturalValueOf, unlimitedNaturalValueOf, unlimitedNaturalValueOf, unlimitedNaturalValueOf
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
createAccumulatorValue
createAccumulatorValue
public Object evaluateIteration(IterationManager iterationManager)
IterationManager.hasCurrent()
and IterationManager.advanceIterators()
.
At each step updateAccumulator(IterationManager)
is invoked to update the
accumulator for that step. A non-null return causes a premature exit and forms the
return from the overall evaluation. If all steps complete resolveTerminalValue(IterationManager)
is invoked to provide the return value.
Derived classes may override this method to change the iteration algorithm or override the call-backs to customize the default iteration.
evaluateIteration
in interface LibraryIteration
iterationManager
- the iteration spaceCopyright © 2005, 2018 IBM Corporation and others. All Rights Reserved.