org.eclipse.ocl.examples.pivot.library
Class EInvokeOperation

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.AbstractOperation
              extended by org.eclipse.ocl.examples.pivot.library.EInvokeOperation
All Implemented Interfaces:
LibraryFeature, LibraryOperation

public class EInvokeOperation
extends AbstractOperation

An EInvokeOperation supports evaluation of an operation call by using eInvoke on the underlying eObject.


Field Summary
protected  org.eclipse.emf.ecore.EOperation eOperation
           
 
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
EInvokeOperation(org.eclipse.emf.ecore.EOperation eOperation)
           
 
Method Summary
 java.lang.Object dispatch(DomainEvaluator evaluator, DomainCallExp callExp, java.lang.Object sourceValue)
          Return the result of evaluating callExp and its arguments upon sourceValue within the environment provided by evaluator.
 java.lang.Object evaluate(DomainEvaluator evaluator, TypeId returnTypeId, java.lang.Object sourceValue, java.lang.Object... argumentValues)
           
protected  java.lang.Object getResultValue(DomainEvaluator evaluator, TypeId returnTypeId, java.lang.Object eResult)
           
 
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

eOperation

@NonNull
protected final org.eclipse.emf.ecore.EOperation eOperation
Constructor Detail

EInvokeOperation

public EInvokeOperation(@NonNull
                        org.eclipse.emf.ecore.EOperation eOperation)
Method Detail

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.


evaluate

@Nullable
public java.lang.Object evaluate(@NonNull
                                          DomainEvaluator evaluator,
                                          @NonNull
                                          TypeId returnTypeId,
                                          @Nullable
                                          java.lang.Object sourceValue,
                                          @NonNull
                                          java.lang.Object... argumentValues)

getResultValue

@Nullable
protected java.lang.Object getResultValue(@NonNull
                                                   DomainEvaluator evaluator,
                                                   @NonNull
                                                   TypeId returnTypeId,
                                                   @Nullable
                                                   java.lang.Object eResult)