org.eclipse.ocl.examples.domain.library
Interface LibraryOperation

All Superinterfaces:
LibraryFeature
All Known Subinterfaces:
LibraryBinaryOperation, LibrarySimpleBinaryOperation, LibrarySimpleOperation, LibrarySimpleTernaryOperation, LibrarySimpleUnaryOperation, LibraryTernaryOperation, LibraryUnaryOperation, LibraryUntypedBinaryOperation, LibraryUntypedOperation, LibraryUntypedTernaryOperation, LibraryUntypedUnaryOperation
All Known Implementing Classes:
AbstractBinaryOperation, AbstractOperation, AbstractPolyOperation, AbstractSimpleBinaryOperation, AbstractSimpleTernaryOperation, AbstractSimpleUnaryOperation, AbstractTernaryOperation, AbstractUnaryOperation, AbstractUntypedBinaryOperation, AbstractUntypedTernaryOperation, AbstractUntypedUnaryOperation, BooleanAllInstancesOperation, BooleanAndOperation, BooleanImpliesOperation, BooleanNotOperation, BooleanOrOperation, BooleanXorOperation, ClassifierAllInstancesOperation, ClassifierOclContainerOperation, ClassifierOclContentsOperation, CollectionAsBagOperation, CollectionAsOrderedSetOperation, CollectionAsSequenceOperation, CollectionAsSetOperation, CollectionCountOperation, CollectionExcludesAllOperation, CollectionExcludesOperation, CollectionExcludingAllOperation, CollectionExcludingOperation, CollectionFlattenOperation, CollectionIncludesAllOperation, CollectionIncludesOperation, CollectionIncludingAllOperation, CollectionIncludingOperation, CollectionIntersectionOperation, CollectionIsEmptyOperation, CollectionMaxOperation, CollectionMinOperation, CollectionNotEmptyOperation, CollectionProductOperation, CollectionSelectByKindOperation, CollectionSelectByTypeOperation, CollectionSizeOperation, CollectionSumOperation, CollectionUnionOperation, ConstrainedOperation, EInvokeOperation, EnumerationAllInstancesOperation, EObjectOperation, IntegerCompareToOperation, IntegerMinusOperation, IntegerPlusOperation, JavaCompareToOperation, NumericAbsOperation, NumericCompareToOperation, NumericDivideOperation, NumericDivOperation, NumericFloorOperation, NumericGreaterThanEqualOperation, NumericGreaterThanOperation, NumericLessThanEqualOperation, NumericLessThanOperation, NumericMaxOperation, NumericMinOperation, NumericMinusOperation, NumericModOperation, NumericNegateOperation, NumericPlusOperation, NumericRoundOperation, NumericTimesOperation, OclAnyEqualOperation, OclAnyNotEqualOperation, OclAnyOclAsSetOperation, OclAnyOclAsTypeOperation, OclAnyOclIsInStateOperation, OclAnyOclIsInvalidOperation, OclAnyOclIsKindOfOperation, OclAnyOclIsTypeOfOperation, OclAnyOclIsUndefinedOperation, OclAnyOclLogOperation, OclAnyOclTypeOperation, OclAnyToStringOperation, OclAnyUnsupportedOperation, OclComparableCompareToOperation, OclComparableComparisonOperation, OclComparableGreaterThanEqualOperation, OclComparableGreaterThanOperation, OclComparableLessThanEqualOperation, OclComparableLessThanOperation, OclInvalidAllInstancesOperation, OclTypeConformsToOperation, OclVoidAllInstancesOperation, OclVoidAndOperation, OclVoidImpliesOperation, OclVoidOrOperation, OrderedCollectionAppendAllOperation, OrderedCollectionAppendOperation, OrderedCollectionAtOperation, OrderedCollectionFirstOperation, OrderedCollectionIndexOfOperation, OrderedCollectionInsertAtOperation, OrderedCollectionLastOperation, OrderedCollectionPrependAllOperation, OrderedCollectionPrependOperation, OrderedCollectionReverseOperation, OrderedSetSubOrderedSetOperation, RealCompareToOperation, RealMinusOperation, RealPlusOperation, SequenceSubSequenceOperation, SetMinusOperation, SetSymmetricDifferenceOperation, StringAtOperation, StringCharactersOperation, StringCompareToOperation, StringConcatOperation, StringEndsWithOperation, StringEqualsIgnoreCaseOperation, StringGreaterThanEqualOperation, StringGreaterThanOperation, StringIndexOfOperation, StringLastIndexOfOperation, StringLessThanEqualOperation, StringLessThanOperation, StringMatchesOperation, StringReplaceAllOperation, StringReplaceFirstOperation, StringSizeOperation, StringStartsWithOperation, StringSubstituteAllOperation, StringSubstituteFirstOperation, StringSubstringOperation, StringToBooleanOperation, StringToIntegerOperation, StringTokenizeOperation, StringToLowerCaseOperation, StringToRealOperation, StringToUpperCaseOperation, StringTrimOperation, UnlimitedNaturalOclAsTypeOperation, UnsupportedOperation

public interface LibraryOperation
extends LibraryFeature


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.
 

Method Detail

dispatch

@Nullable
java.lang.Object dispatch(@NonNull
                                   DomainEvaluator evaluator,
                                   @NonNull
                                   DomainCallExp callExp,
                                   @Nullable
                                   java.lang.Object sourceValue)
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.