org.eclipse.ocl.examples.pivot.ecore
Class EObjectOperation
java.lang.Object
org.eclipse.ocl.examples.domain.values.util.ValuesUtil
org.eclipse.ocl.examples.domain.library.AbstractFeature
org.eclipse.ocl.examples.domain.library.AbstractOperation
org.eclipse.ocl.examples.pivot.ecore.EObjectOperation
- All Implemented Interfaces:
- LibraryFeature, LibraryOperation
public class EObjectOperation
- extends AbstractOperation
An EObjectOperation provides the standard LibraryOperation to implement an
OperationCallExp. When constructed with a null specification, the call returns
an invalid. When constructed with a non-null specification,
the specification defines the operation body, which if provided as an OpaqueExpression
is lazily compiled from OCL source text.
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 |
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 |
operation
@NonNull
protected final Operation operation
eFeature
@NonNull
protected final org.eclipse.emf.ecore.EOperation eFeature
specification
@NonNull
protected OpaqueExpression specification
EObjectOperation
public EObjectOperation(@NonNull
Operation operation,
@NonNull
org.eclipse.emf.ecore.EOperation eFeature,
@NonNull
OpaqueExpression specification)
dispatch
@Nullable
public java.lang.Object dispatch(@NonNull
DomainEvaluator evaluator,
@NonNull
DomainCallExp callExp,
@Nullable
java.lang.Object sourceValue)
- Description copied from interface:
LibraryOperation
- Return the result of evaluating callExp and its arguments upon sourceValue within the environment
provided by evaluator. An invalid return may be indicated by throwing an exception,
returning Java null, or returning OCL invalid.
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.
resolveExpressionInOCL
protected void resolveExpressionInOCL(@NonNull
DomainEvaluator evaluator,
@NonNull
DomainCallExp callExp,
@Nullable
java.lang.Object sourceValue)