public abstract class AbstractOperation extends AbstractFeature implements LibraryOperation.LibraryOperationExtension2
#evaluate(Executor, OperationCallExp, Object[])
offers the maximum polymorphism
with source and arguments packed to facilitate cache lookup.
For code generated purposes the many Unary/Binary/Ternary derived classes offer significantly simpler signatures
suitable for direct invocation from auto-generated Java code.LibraryOperation.LibraryOperationExtension, LibraryOperation.LibraryOperationExtension2
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 |
---|
AbstractOperation() |
Modifier and Type | Method and Description |
---|---|
java.lang.Object |
basicEvaluate(Executor executor,
TypedElement caller,
java.lang.Object[] sourceAndArgumentValues)
Return the evaluation from sourceAndArgumentValues using the executor for context wrt a caller.
|
protected java.lang.Object |
cachedEvaluate(Executor executor,
TypedElement caller,
java.lang.Object[] sourceAndArgumentValues)
Return the evaluation from sourceAndArgumentValues using the executor for context wrt a caller.
|
java.lang.Object |
dispatch(Evaluator evaluator,
OperationCallExp callExp,
java.lang.Object sourceValue)
Deprecated.
use Executor
|
java.lang.Object |
evaluate(Executor executor,
TypedElement caller,
java.lang.Object[] sourceAndArgumentValues)
Return the evaluation from sourceAndArgumentValues using the executor for context wrt a caller.
|
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
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
dispatch
@Deprecated @Nullable public java.lang.Object dispatch(@NonNull Evaluator evaluator, @NonNull OperationCallExp callExp, @Nullable java.lang.Object sourceValue)
dispatch
in interface LibraryOperation
@Nullable public java.lang.Object basicEvaluate(@NonNull Executor executor, @NonNull TypedElement caller, @Nullable java.lang.Object[] sourceAndArgumentValues)
basicEvaluate
in interface LibraryOperation.LibraryOperationExtension2
@Nullable protected final java.lang.Object cachedEvaluate(@NonNull Executor executor, @NonNull TypedElement caller, @Nullable java.lang.Object[] sourceAndArgumentValues)
@Nullable public java.lang.Object evaluate(@NonNull Executor executor, @NonNull TypedElement caller, @Nullable java.lang.Object[] sourceAndArgumentValues)
evaluate
in interface LibraryOperation.LibraryOperationExtension2