public abstract class AbstractTernaryOperation extends AbstractOperation implements LibraryTernaryOperation
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 |
---|
AbstractTernaryOperation() |
Modifier and Type | Method and Description |
---|---|
java.lang.Object |
dispatch(Evaluator evaluator,
OperationCallExp callExp,
java.lang.Object sourceValue)
Return the result of evaluating callExp and its arguments upon sourceValue within the environment
provided by evaluator.
|
abstract java.lang.Object |
evaluate(Evaluator evaluator,
TypeId returnTypeId,
java.lang.Object sourceValue,
java.lang.Object firstArgumentValue,
java.lang.Object secondArgumentValue)
Return the result of evaluating the operation on source with arg1 and arg2.
|
asBagValue, asBoolean, asClass, asCollectionType, asCollectionValue, asInteger, asIntegerValue, asMapType, asMapValue, asNavigableObject, asObject, asOrderedCollectionValue, asOrderedSetValue, asRealValue, asSequenceValue, asSetValue, asString, asTupleValue, asType, asUniqueCollectionValue, asUnlimitedNaturalValue, asValue, bigDecimalValueOf, bigIntegerValueOf, characterValueOf, 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, getElementIdName, getTypeName, initAllStatics, integerValueOf, integerValueOf, integerValueOf, integerValueOf, integerValueOf, isBoxed, isCollectionValue, isEcore, isIntegerNumber, isIntegerValue, isRealNumber, isUnboxed, isUnlimited, oclToString, realValueOf, realValueOf, realValueOf, realValueOf, realValueOf, stringValueOf, throwBooleanInvalidValueException, throwInvalidValueException, throwUnsupportedCompareTo, toString, unlimitedNaturalValueOf, unlimitedNaturalValueOf, unlimitedNaturalValueOf, unlimitedNaturalValueOf, unlimitedNaturalValueOf
@Nullable public java.lang.Object dispatch(@NonNull Evaluator evaluator, @NonNull OperationCallExp callExp, @Nullable java.lang.Object sourceValue)
LibraryOperation
This invocation evaluates the arguments as required. Derived implementations may implement short circuit processing to skip redundant evlaution of later arguments.
Invocations may bypass dispatch if a derived LibraryOperation such as LibrarySimpleBinaryOperation makes its internal evaluate signature available for use after a type test and cast.
dispatch
in interface LibraryOperation
@Nullable public abstract java.lang.Object evaluate(@NonNull Evaluator evaluator, @NonNull TypeId returnTypeId, @Nullable java.lang.Object sourceValue, @Nullable java.lang.Object firstArgumentValue, @Nullable java.lang.Object secondArgumentValue)
LibraryTernaryOperation
evaluate
in interface LibraryTernaryOperation