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

All Superinterfaces:
LibraryFeature
All Known Subinterfaces:
LibraryBinaryOperation, LibraryTernaryOperation, LibraryUnaryOperation
All Known Implementing Classes:
AbstractBinaryOperation, AbstractNumericBinaryOperation, AbstractNumericUnaryOperation, AbstractOperation, AbstractTernaryOperation, AbstractUnaryOperation, BooleanAllInstancesOperation, BooleanAndOperation, BooleanImpliesOperation, BooleanLiteralExpBodies._invariant_TypeIsBoolean, BooleanNotOperation, BooleanOrOperation, BooleanXorOperation, ClassifierAllInstancesOperation, ClassifierOclContainerOperation, ClassifierOclContentsOperation, CollectionAsBagOperation, CollectionAsOrderedSetOperation, CollectionAsSequenceOperation, CollectionAsSetOperation, CollectionCountOperation, CollectionExcludesAllOperation, CollectionExcludesOperation, CollectionExcludingOperation, CollectionFlattenOperation, CollectionIncludesAllOperation, CollectionIncludesOperation, CollectionIncludingOperation, CollectionIntersectionOperation, CollectionIsEmptyOperation, CollectionItemBodies._invariant_TypeIsItemType, CollectionLiteralExpBodies._invariant_BagKindIsBag, CollectionLiteralExpBodies._invariant_CollectionKindIsConcrete, CollectionLiteralExpBodies._invariant_OrderedSetKindIsOrderedSet, CollectionLiteralExpBodies._invariant_SequenceKindIsSequence, CollectionLiteralExpBodies._invariant_SetKindIsSet, CollectionMaxOperation, CollectionMinOperation, CollectionNotEmptyOperation, CollectionProductOperation, CollectionSelectByKindOperation, CollectionSelectByTypeOperation, CollectionSizeOperation, CollectionSumOperation, CollectionUnionOperation, ConstrainedOperation, ConstraintBodies._invariant_UniqueName, ElementBodies._allOwnedElements_body_, ElementBodies._invariant_not_own_self, EnumerationAllInstancesOperation, EnumLiteralExpBodies._invariant_TypeIsEnumerationType, EObjectOperation, IfExpBodies._invariant_ConditionTypeIsBoolean, IntegerCompareToOperation, IntegerLiteralExpBodies._invariant_TypeIsInteger, IntegerMinusOperation, IntegerPlusOperation, IterateExpBodies._invariant_BodyTypeConformsToResultType, IterateExpBodies._invariant_OneInitializer, IterateExpBodies._invariant_TypeIsResultType, IteratorExpBodies._invariant_AnyBodyTypeIsBoolean, IteratorExpBodies._invariant_AnyHasOneIterator, IteratorExpBodies._invariant_AnyTypeIsSourceElementType, IteratorExpBodies._invariant_ClosureElementTypeIsSourceElementType, IteratorExpBodies._invariant_ClosureHasOneIterator, IteratorExpBodies._invariant_ClosureSourceElementTypeIsBodyElementType, IteratorExpBodies._invariant_ClosureTypeIsUniqueCollection, IteratorExpBodies._invariant_CollectElementTypeIsSourceElementType, IteratorExpBodies._invariant_CollectHasOneIterator, IteratorExpBodies._invariant_CollectNestedHasOneIterator, IteratorExpBodies._invariant_CollectNestedTypeIsBag, IteratorExpBodies._invariant_CollectNestedTypeIsBodyType, IteratorExpBodies._invariant_CollectTypeIsUnordered, IteratorExpBodies._invariant_ExistsBodyTypeIsBoolean, IteratorExpBodies._invariant_ExistsTypeIsBoolean, IteratorExpBodies._invariant_ForAllBodyTypeIsBoolean, IteratorExpBodies._invariant_ForAllTypeIsBoolean, IteratorExpBodies._invariant_IsUniqueHasOneIterator, IteratorExpBodies._invariant_IsUniqueTypeIsBoolean, IteratorExpBodies._invariant_IteratorTypeIsSourceElementType, IteratorExpBodies._invariant_OneBodyTypeIsBoolean, IteratorExpBodies._invariant_OneHasOneIterator, IteratorExpBodies._invariant_OneTypeIsBoolean, IteratorExpBodies._invariant_RejectOrSelectHasOneIterator, IteratorExpBodies._invariant_RejectOrSelectTypeIsBoolean, IteratorExpBodies._invariant_RejectOrSelectTypeIsSourceType, IteratorExpBodies._invariant_SortedByElementTypeIsSourceElementType, IteratorExpBodies._invariant_SortedByHasOneIterator, IteratorExpBodies._invariant_SortedByIsOrderedIfSourceIsOrdered, JavaCompareToOperation, LetExpBodies._invariant_TypeIsInType, LoopExpBodies._invariant_NoInitializers, LoopExpBodies._invariant_SourceIsCollection, MessageExpBodies._invariant_OneCallOrOneSend, MessageExpBodies._invariant_TargetIsNotACollection, MultiplicityElementBodies._includesCardinality_body_, MultiplicityElementBodies._includesMultiplicity_body_, MultiplicityElementBodies._invariant_lower_ge_0, MultiplicityElementBodies._invariant_upper_ge_lower, MultiplicityElementBodies._isMultivalued_body_, MultiplicityElementBodies._lowerBound_body_, MultiplicityElementBodies._upperBound_body_, NumericAbsOperation, NumericDivideOperation, NumericDivOperation, NumericFloorOperation, NumericGreaterThanEqualOperation, NumericGreaterThanOperation, NumericLessThanEqualOperation, NumericLessThanOperation, NumericMaxOperation, NumericMinOperation, NumericMinusOperation, NumericModOperation, NumericNegateOperation, NumericPlusOperation, NumericRoundOperation, NumericTimesOperation, OclAnyEqualOperation, OclAnyNotEqualOperation, OclAnyOclAsSetOperation, OclAnyOclAsTypeOperation, OclAnyOclIsInStateOperation, OclAnyOclIsInvalidOperation, OclAnyOclIsKindOfOperation, OclAnyOclIsTypeOfOperation, OclAnyOclIsUndefinedOperation, OclAnyOclTypeOperation, OclAnyToStringOperation, OclAnyUnsupportedOperation, OclComparableComparisonOperation, OclComparableGreaterThanEqualOperation, OclComparableGreaterThanOperation, OclComparableLessThanEqualOperation, OclComparableLessThanOperation, OclInvalidAllInstancesOperation, OclTypeConformsToOperation, OclVoidAllInstancesOperation, OclVoidAndOperation, OclVoidImpliesOperation, OclVoidOrOperation, OpaqueExpressionBodies._invariant_language_body_size, OperationBodies._invariant_CompatibleReturn, OperationCallExpBodies._invariant_ArgumentCount, OrderedCollectionAppendOperation, OrderedCollectionAtOperation, OrderedCollectionFirstOperation, OrderedCollectionIndexOfOperation, OrderedCollectionInsertAtOperation, OrderedCollectionLastOperation, OrderedCollectionPrependOperation, OrderedCollectionReverseOperation, OrderedSetSubOrderedSetOperation, ParameterableElementBodies._isCompatibleWith_body_, PropertyBodies._invariant_CompatibleInitialiser, PropertyBodies._isAttribute_body_, RealCompareToOperation, RealMinusOperation, RealPlusOperation, SelfTypeBodies._resolveSelfType_body_, 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, TemplateableElementBodies._isTemplate_body_, TemplateableElementBodies._parameterableElements_body_, TemplateBindingBodies._invariant_one_parameter_substitution, TemplateBindingBodies._invariant_parameter_substitution_formal, TemplateParameterBodies._invariant_must_be_compatible, TemplateParameterSubstitutionBodies._invariant_must_be_compatible, TemplateSignatureBodies._invariant_own_elements, TypeBodies._resolveSelfType_body_, TypedMultiplicityElementBodies._CompatibleBody_body_, TypedMultiplicityElementBodies._makeParameter_body_, TypeTemplateParameterBodies._invariant_has_constraining_type, UnimplementedOperation, UnlimitedNaturalOclAsTypeOperation, ValueSpecificationBodies._booleanValue_body_, ValueSpecificationBodies._integerValue_body_, ValueSpecificationBodies._isComputable_body_, ValueSpecificationBodies._isNull_body_, ValueSpecificationBodies._stringValue_body_, ValueSpecificationBodies._unlimitedValue_body_

public interface LibraryOperation
extends LibraryFeature


Method Summary
 boolean argumentsMayBeInvalid()
          Return true if this operation should be invoked even if one its arguments is invalid.
 Value evaluate(DomainEvaluator evaluator, DomainCallExp callExp, Value sourceValue, Value... argumentValues)
          Return the result of evaluating operationCall upon sourceVal within the environment provided by EvaluationVisitor.
 
Methods inherited from interface org.eclipse.ocl.examples.domain.library.LibraryFeature
getValidator
 

Method Detail

argumentsMayBeInvalid

boolean argumentsMayBeInvalid()
Return true if this operation should be invoked even if one its arguments is invalid.


evaluate

Value evaluate(DomainEvaluator evaluator,
               DomainCallExp callExp,
               Value sourceValue,
               Value... argumentValues)
               throws InvalidEvaluationException,
                      InvalidValueException
Return the result of evaluating operationCall upon sourceVal within the environment provided by EvaluationVisitor. An invalid return may be indicated by throwing an exception returning Java null or OCL invalid.

Parameters:
evaluationVisitor - the evaluation context
sourceVal - the source operand for the operation
operationCall - the operation and additional arguments
Returns:
the evaluated value
Throws:
InvalidValueException
InvalidEvaluationException