org.eclipse.ocl.examples.library.iterator
Class ExistsIteration

java.lang.Object
  extended by org.eclipse.ocl.examples.domain.values.util.ValuesUtil
      extended by org.eclipse.ocl.examples.domain.library.AbstractFeature
          extended by org.eclipse.ocl.examples.domain.library.AbstractIteration
              extended by org.eclipse.ocl.examples.library.iterator.ExistsIteration
All Implemented Interfaces:
LibraryFeature, LibraryIteration

public class ExistsIteration
extends AbstractIteration

ExistsIteration realises the Collection::exists() library iteration.


Nested Class Summary
 
Nested classes/interfaces inherited from class org.eclipse.ocl.examples.domain.library.AbstractIteration
AbstractIteration.MutableObject
 
Field Summary
static ExistsIteration INSTANCE
           
 
Fields inherited from class org.eclipse.ocl.examples.domain.library.AbstractIteration
CARRY_ON
 
Fields inherited from class org.eclipse.ocl.examples.domain.values.util.ValuesUtil
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_VALUE, ZERO_VALUE
 
Constructor Summary
ExistsIteration()
           
 
Method Summary
 java.lang.Object createAccumulatorValue(DomainEvaluator evaluator, TypeId accumulatorTypeId, TypeId bodyTypeId)
          Create the value that will accumulate the iteration results.
protected  java.lang.Object resolveTerminalValue(DomainIterationManager iterationManager)
          Return the final result at the end of an iteration over all the source elements.
protected  java.lang.Object updateAccumulator(DomainIterationManager iterationManager)
          Update the accumulatorValue with the bodyValue resulting from the current iteration for which the iterators define the context in the environment.
 
Methods inherited from class org.eclipse.ocl.examples.domain.library.AbstractIteration
evaluateIteration
 
Methods inherited from class org.eclipse.ocl.examples.domain.values.util.ValuesUtil
asBagValue, asBoolean, asCollectionType, asCollectionValue, asInteger, asIntegerValue, asMetaclass, asNavigableObject, asObject, asOrderedCollectionValue, asOrderedSetValue, asRealValue, asSequenceValue, asSetValue, asString, asTupleValue, asType, asUniqueCollectionValue, asUnlimitedNaturalValue, asValue, bigDecimalValueOf, bigIntegerValueOf, characterValueOf, createBagAccumulatorValue, createBagOfEach, createBagRange, createBagValue, createCollectionAccumulatorValue, createInvalidValue, createObjectValue, createOrderedSetAccumulatorValue, createOrderedSetOfEach, createOrderedSetRange, createOrderedSetValue, createRange, createSequenceAccumulatorValue, createSequenceOfEach, createSequenceRange, createSequenceRange, createSequenceValue, createSetAccumulatorValue, createSetOfEach, createSetRange, createSetValue, createTupleOfEach, createTupleValue, createTupleValue, createTypeValue, getEcoreNumber, getTypeName, initAllStatics, integerValueOf, integerValueOf, integerValueOf, integerValueOf, integerValueOf, isBoxed, isCollectionValue, isIntegerNumber, isIntegerValue, isRealNumber, isUnboxed, isUnlimited, oclToString, realValueOf, realValueOf, realValueOf, realValueOf, realValueOf, stringValueOf, throwBooleanInvalidValueException, throwInvalidValueException, toString
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

INSTANCE

@NonNull
public static final ExistsIteration INSTANCE
Constructor Detail

ExistsIteration

public ExistsIteration()
Method Detail

createAccumulatorValue

@NonNull
public java.lang.Object createAccumulatorValue(@NonNull
                                                       DomainEvaluator evaluator,
                                                       @NonNull
                                                       TypeId accumulatorTypeId,
                                                       @NonNull
                                                       TypeId bodyTypeId)
Description copied from interface: LibraryIteration
Create the value that will accumulate the iteration results.

Parameters:
evaluator - that supervises evaluation
Returns:
the accumulator

resolveTerminalValue

@Nullable
protected java.lang.Object resolveTerminalValue(@NonNull
                                                         DomainIterationManager iterationManager)
Description copied from class: AbstractIteration
Return the final result at the end of an iteration over all the source elements. The default implementation just returns the accumulator. Derived iterations should override.
This method is bypassed if the iteration ends prematurely.

Overrides:
resolveTerminalValue in class AbstractIteration
Parameters:
iterationManager - the iteration context
Returns:
the result

updateAccumulator

@Nullable
protected java.lang.Object updateAccumulator(@NonNull
                                                      DomainIterationManager iterationManager)
Description copied from class: AbstractIteration
Update the accumulatorValue with the bodyValue resulting from the current iteration for which the iterators define the context in the environment.

Specified by:
updateAccumulator in class AbstractIteration
Parameters:
iterationManager - the iteration context
Returns:
non-CARRY_ON premature result of iteration, or CARRY_ON if complete