| <?xml version="1.0" encoding="UTF-8"?> |
| <pivot:Model xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:pivot="http://www.eclipse.org/ocl/2015/Pivot" |
| xsi:schemaLocation="http://www.eclipse.org/ocl/2015/Pivot java://org.eclipse.ocl.pivot.PivotPackage" xmi:id="AAAAA" externalURI="platform:/resource/org.eclipse.ocl.pivot/model/OCL-2.5.oclstdlib" name="OCL-2.5.oclstdlib" xmiidVersion="1"> |
| <ownedPackages xsi:type="pivot:Library" xmi:id="S673I" URI="http://www.eclipse.org/ocl/2015/Library" name="ocl" nsPrefix="ocl"> |
| <ownedAnnotations xsi:type="pivot:Annotation" name="http://www.omg.org/ocl"> |
| <ownedDetails name="PackageRole"> |
| <values>StandardLibrary</values> |
| </ownedDetails> |
| <ownedDetails name="ClassGroup_Collection"> |
| <values>This sub clause defines the collection types and their operations. As defined in this sub clause, each collection type is actually a template type with one parameter. âTâ denotes the parameter. A concrete collection type is created by substituting a type for the T. So Set (Integer) and Bag (Person) are collection types.</values> |
| </ownedDetails> |
| <ownedDetails name="ClassGroup_PrimitiveTypes"> |
| <values>The primitive types defined in the OCL standard library are UnlimitedNatural, Integer, Real, String, and Boolean. They are all instances of the metaclass Primitive from the UML core package.</values> |
| </ownedDetails> |
| </ownedAnnotations> |
| <ownedClasses xsi:type="pivot:BagType" xmi:id="yEcHF" instanceClassName="org.eclipse.ocl.pivot.values.Bag" name="Bag" superClasses="#Z+X23"> |
| <ownedAnnotations xsi:type="pivot:Annotation" name="http://www.omg.org/ocl"> |
| <ownedDetails name="ClassGroup"> |
| <values>Collection</values> |
| </ownedDetails> |
| </ownedAnnotations> |
| <ownedComments body="A bag is a collection with duplicates allowed. That is, one object can be an element of a bag many times.
There is no ordering defined on the elements in a bag.
Bag is itself an instance of the metatype BagType.
"/> |
| <ownedOperations xmi:id="qpz,+" implementationClass="org.eclipse.ocl.pivot.library.oclany.OclAnyNotEqualOperation" name="<>" |
| precedence="#YwCPU" type="#XEMMs"> |
| <ownedComments body="Evaluates to oclText[true] unless oclText[self] and s contain the same elements.
"/> |
| <ownedParameters xmi:id="A3xlm" isRequired="false" name="object2" type="#zlfMH"/> |
| </ownedOperations> |
| <ownedOperations xmi:id="lMz,+" implementationClass="org.eclipse.ocl.pivot.library.oclany.OclAnyEqualOperation" name="=" precedence="#YwCPU" |
| type="#XEMMs"> |
| <ownedComments body="True if oclText[self] and bag contain the same elements, the same number of times.
"/> |
| <ownedParameters xmi:id="P+hem" isRequired="false" name="object2" type="#zlfMH"/> |
| </ownedOperations> |
| <ownedOperations xsi:type="pivot:Iteration" xmi:id="70dcd" implementationClass="org.eclipse.ocl.pivot.library.iterator.ClosureIteration" |
| name="closure" type="#dkz0o"> |
| <ownedComments body="The closure of applying body transitively to every distinct element of the source collection.
"/> |
| <ownedIterators xmi:id="YPiDW" name="i" type="#k2OA6"/> |
| <ownedParameters xmi:id="BhAj2" isRequired="false" name="lambda" type="#xv1ql"/> |
| </ownedOperations> |
| <ownedOperations xsi:type="pivot:Iteration" xmi:id="qQrYi" implementationClass="org.eclipse.ocl.pivot.library.iterator.CollectIteration" |
| name="collect" type="#tNfy1"> |
| <ownedIterators xmi:id="Ls1lK" isRequired="false" name="i" type="#k2OA6"/> |
| <ownedParameters xmi:id="09TFr" isRequired="false" name="lambda" type="#8QuxN"/> |
| <ownedSignature> |
| <ownedParameters xmi:id="ehjJ6" name="V"/> |
| </ownedSignature> |
| </ownedOperations> |
| <ownedOperations xsi:type="pivot:Iteration" xmi:id="BnvOK" implementationClass="org.eclipse.ocl.pivot.library.iterator.CollectNestedIteration" |
| name="collectNested" type="#kj8x0"> |
| <ownedComments body="The Bag of elements which results from applying body to every member of the source nonordered collection.
"/> |
| <ownedIterators xmi:id="GZOJ0" isRequired="false" name="i" type="#k2OA6"/> |
| <ownedParameters xmi:id="vqsoU" isRequired="false" name="lambda" type="#dKdmN"/> |
| <ownedSignature> |
| <ownedParameters xmi:id="tKoqz" name="V"/> |
| </ownedSignature> |
| </ownedOperations> |
| <ownedOperations xmi:id="X8DTO" implementationClass="org.eclipse.ocl.pivot.library.collection.CollectionExcludingOperation" name="excluding" |
| type="#yEcHF"> |
| <ownedComments body="The bag containing all elements of oclText[self] apart from all occurrences of object.
"/> |
| <ownedParameters xmi:id="lI6rS" isRequired="false" name="object" type="#k2OA6"/> |
| </ownedOperations> |
| <ownedOperations xmi:id="4,XWD" implementationClass="org.eclipse.ocl.pivot.library.collection.CollectionExcludingAllOperation" name="excludingAll" |
| type="#yEcHF"> |
| <ownedComments body="The bag containing all elements of oclText[self] apart from all occurrences of all objects.
"/> |
| <ownedParameters xmi:id="XVonC" name="objects" type="#Z+X23"/> |
| </ownedOperations> |
| <ownedOperations xmi:id="jS7X7" implementationClass="org.eclipse.ocl.pivot.library.collection.CollectionFlattenOperation" name="flatten" |
| type="#OLliK"> |
| <ownedComments body="Redefines the Collection operation. If the element type is not a collection type, this results in the same bag as oclText[self].
If the element type is a collection type, the result is the bag containing all the elements of all the recursively flattened elements of oclText[self].
"/> |
| <ownedSignature> |
| <ownedParameters xmi:id="n6+jq" name="T2"/> |
| </ownedSignature> |
| </ownedOperations> |
| <ownedOperations xmi:id="lpjkQ" implementationClass="org.eclipse.ocl.pivot.library.collection.CollectionIncludingOperation" name="including" |
| type="#yEcHF"> |
| <ownedComments body="The bag containing all elements of oclText[self] plus object.
"/> |
| <ownedParameters xmi:id="7guyj" isRequired="false" name="object" type="#k2OA6"/> |
| </ownedOperations> |
| <ownedOperations xmi:id="qnRMR" implementationClass="org.eclipse.ocl.pivot.library.collection.CollectionIncludingAllOperation" name="includingAll" |
| type="#yEcHF"> |
| <ownedComments body="The bag containing all elements of oclText[self] and objects.
"/> |
| <ownedParameters xmi:id="B+3f3" name="objects" type="#Z+X23"/> |
| </ownedOperations> |
| <ownedOperations xsi:type="pivot:Iteration" xmi:id="faMFy" implementationClass="org.eclipse.ocl.pivot.library.iterator.RejectIteration" |
| name="reject" type="#yEcHF"> |
| <ownedComments body="The sub-bag of the source bag for which body is oclText[false].

oclCode[self->reject(iterator | body) = self->select(iterator | not body)].
"/> |
| <ownedIterators xmi:id="sevyj" isRequired="false" name="i" type="#k2OA6"/> |
| <ownedParameters xmi:id="VwNSE" name="lambda" type="#TVxB,"/> |
| </ownedOperations> |
| <ownedOperations xsi:type="pivot:Iteration" xmi:id="8foyz" implementationClass="org.eclipse.ocl.pivot.library.iterator.SelectIteration" |
| name="select" type="#yEcHF"> |
| <ownedComments body="The sub-bag of the source bag for which body is oclText[true].

oclCode[self->select(iterator | body) =
self->iterate(iterator; result : Bag(T) = Bag{} |
if body then result->including(iterator)
else result
endif)]
"/> |
| <ownedIterators xmi:id="Veyr1" isRequired="false" name="i" type="#k2OA6"/> |
| <ownedParameters xmi:id="+vQLW" name="lambda" type="#TVxB,"/> |
| </ownedOperations> |
| <ownedOperations xmi:id="n+noG" implementationClass="org.eclipse.ocl.pivot.library.collection.CollectionSelectByKindOperation" name="selectByKind" |
| type="#kYj3+"> |
| <ownedComments body="The bag containing all elements of oclText[self] whose type conforms to oclText[type].
"/> |
| <ownedParameters xmi:id="wxQ5," isTypeof="true" name="type" type="#tHLI9"/> |
| <ownedSignature> |
| <ownedParameters xmi:id="tHLI9" name="TT"/> |
| </ownedSignature> |
| </ownedOperations> |
| <ownedOperations xmi:id="NNtpG" implementationClass="org.eclipse.ocl.pivot.library.collection.CollectionSelectByTypeOperation" name="selectByType" |
| type="#KCu19"> |
| <ownedComments body="The bag containing all elements of oclText[self] whose type is oclText[type].
"/> |
| <ownedParameters xmi:id="+lqJR" isTypeof="true" name="type" type="#DLB0P"/> |
| <ownedSignature> |
| <ownedParameters xmi:id="DLB0P" name="TT"/> |
| </ownedSignature> |
| </ownedOperations> |
| <ownedOperations xsi:type="pivot:Iteration" xmi:id="0LL4M" implementationClass="org.eclipse.ocl.pivot.library.iterator.SortedByIteration" |
| name="sortedBy" type="#8CNH9"> |
| <ownedComments body="Results in the Sequence containing all elements of the source collection.
The element for which body has the lowest value comes first, and so on.
The type of the body expression must have the < operation defined.
The < operation must return a Boolean value and must be transitive (i.e., if a < b and b < c then a < c).
"/> |
| <ownedIterators xmi:id="taIGD" isRequired="false" name="i" type="#k2OA6"/> |
| <ownedParameters xmi:id="Wsmlj" isRequired="false" name="lambda" type="#H9NqH"/> |
| </ownedOperations> |
| <ownedSignature> |
| <ownedParameters xmi:id="k2OA6" name="T"/> |
| </ownedSignature> |
| </ownedClasses> |
| <ownedClasses xsi:type="pivot:BooleanType" xmi:id="XEMMs" instanceClassName="java.lang.Boolean" name="Boolean" superClasses="#jbMkR"> |
| <ownedAnnotations xsi:type="pivot:Annotation" name="http://www.omg.org/ocl"> |
| <ownedDetails name="ClassGroup"> |
| <values>Primitive</values> |
| </ownedDetails> |
| </ownedAnnotations> |
| <ownedComments body="The standard type Boolean represents the common true/false values.
Boolean is itself an instance of the metatype PrimitiveType (from UML).
"/> |
| <ownedOperations xmi:id="76cxV" implementationClass="org.eclipse.ocl.pivot.library.oclany.OclAnyNotEqualOperation" name="<>" |
| precedence="#YwCPU" type="#XEMMs"> |
| <ownedComments body="Returns oclText[true] if the logical value of oclText[self] is the not same as the numeric value of object2, oclText[false] otherwise."/> |
| <ownedParameters xmi:id="NTKl8" isRequired="false" name="object2" type="#zlfMH"/> |
| </ownedOperations> |
| <ownedOperations xmi:id="2dcxV" implementationClass="org.eclipse.ocl.pivot.library.oclany.OclAnyEqualOperation" name="=" precedence="#YwCPU" |
| type="#XEMMs"> |
| <ownedComments body="Returns oclText[true] if the logical value of oclText[self] is the same as the numeric value of object2, oclText[false] otherwise."/> |
| <ownedParameters xmi:id="ca6d8" isRequired="false" name="object2" type="#zlfMH"/> |
| </ownedOperations> |
| <ownedOperations xmi:id="kFkCu" implementationClass="org.eclipse.ocl.pivot.library.oclany.OclAnyUnsupportedOperation" name="allInstances" |
| type="#UQF4+"> |
| <ownedComments body="Returns oclText[Set{false, true}].

@Deprecated - retained with broken signature for referential API compatibility."/> |
| <ownedParameters xmi:id="nCjNu" name="dummy" type="#tYtCd"/> |
| </ownedOperations> |
| <ownedOperations xmi:id="8sfYU" implementationClass="org.eclipse.ocl.pivot.library.logical.BooleanAndOperation" isInvalidating="true" |
| isRequired="false" isValidating="true" name="and" precedence="#VT87C" type="#XEMMs"> |
| <bodyExpression xsi:type="pivot:ExpressionInOCL" body="if self.oclIsInvalid() then
				if b.oclIsInvalid() then self
				elseif b = false then false
				else self
				endif
			 elseif self = false then false
			 elseif b.oclIsInvalid() then b
			 elseif b = false then false
			 elseif self = null then null
			 elseif b = null then null
			 else true
			 endif" |
| isRequired="false" type="#XEMMs"> |
| <ownedBody xsi:type="pivot:IfExp" isRequired="false" type="#XEMMs"> |
| <ownedCondition xsi:type="pivot:OperationCallExp" name="oclIsInvalid" referredOperation="#Bz+rT" type="#XEMMs"> |
| <ownedSource xsi:type="pivot:VariableExp" name="self" referredVariable="#Ing82" type="#XEMMs"/> |
| </ownedCondition> |
| <ownedElse xsi:type="pivot:IfExp" isElseIf="true" isRequired="false" type="#XEMMs"> |
| <ownedCondition xsi:type="pivot:OperationCallExp" name="=" referredOperation="#2dcxV" type="#XEMMs"> |
| <ownedArguments xsi:type="pivot:BooleanLiteralExp" booleanSymbol="false" type="#XEMMs"/> |
| <ownedSource xsi:type="pivot:VariableExp" name="self" referredVariable="#Ing82" type="#XEMMs"/> |
| </ownedCondition> |
| <ownedElse xsi:type="pivot:IfExp" isElseIf="true" isRequired="false" type="#XEMMs"> |
| <ownedCondition xsi:type="pivot:OperationCallExp" name="oclIsInvalid" referredOperation="#Bz+rT" type="#XEMMs"> |
| <ownedSource xsi:type="pivot:VariableExp" isRequired="false" name="b" referredVariable="#jXcmC" type="#XEMMs"/> |
| </ownedCondition> |
| <ownedElse xsi:type="pivot:IfExp" isElseIf="true" isRequired="false" type="#XEMMs"> |
| <ownedCondition xsi:type="pivot:OperationCallExp" name="=" referredOperation="#2dcxV" type="#XEMMs"> |
| <ownedArguments xsi:type="pivot:BooleanLiteralExp" booleanSymbol="false" type="#XEMMs"/> |
| <ownedSource xsi:type="pivot:VariableExp" isRequired="false" name="b" referredVariable="#jXcmC" type="#XEMMs"/> |
| </ownedCondition> |
| <ownedElse xsi:type="pivot:IfExp" isElseIf="true" isRequired="false" type="#XEMMs"> |
| <ownedCondition xsi:type="pivot:OperationCallExp" name="=" referredOperation="#2dcxV" type="#XEMMs"> |
| <ownedArguments xsi:type="pivot:NullLiteralExp" isRequired="false" type="#7u3MH"/> |
| <ownedSource xsi:type="pivot:VariableExp" name="self" referredVariable="#Ing82" type="#XEMMs"/> |
| </ownedCondition> |
| <ownedElse xsi:type="pivot:IfExp" isElseIf="true" isRequired="false" type="#XEMMs"> |
| <ownedCondition xsi:type="pivot:OperationCallExp" name="=" referredOperation="#2dcxV" type="#XEMMs"> |
| <ownedArguments xsi:type="pivot:NullLiteralExp" isRequired="false" type="#7u3MH"/> |
| <ownedSource xsi:type="pivot:VariableExp" isRequired="false" name="b" referredVariable="#jXcmC" type="#XEMMs"/> |
| </ownedCondition> |
| <ownedElse xsi:type="pivot:BooleanLiteralExp" booleanSymbol="true" type="#XEMMs"/> |
| <ownedThen xsi:type="pivot:NullLiteralExp" isRequired="false" type="#7u3MH"/> |
| </ownedElse> |
| <ownedThen xsi:type="pivot:NullLiteralExp" isRequired="false" type="#7u3MH"/> |
| </ownedElse> |
| <ownedThen xsi:type="pivot:BooleanLiteralExp" booleanSymbol="false" type="#XEMMs"/> |
| </ownedElse> |
| <ownedThen xsi:type="pivot:VariableExp" isRequired="false" name="b" referredVariable="#jXcmC" type="#XEMMs"/> |
| </ownedElse> |
| <ownedThen xsi:type="pivot:BooleanLiteralExp" booleanSymbol="false" type="#XEMMs"/> |
| </ownedElse> |
| <ownedThen xsi:type="pivot:IfExp" type="#XEMMs"> |
| <ownedCondition xsi:type="pivot:OperationCallExp" name="oclIsInvalid" referredOperation="#Bz+rT" type="#XEMMs"> |
| <ownedSource xsi:type="pivot:VariableExp" isRequired="false" name="b" referredVariable="#jXcmC" type="#XEMMs"/> |
| </ownedCondition> |
| <ownedElse xsi:type="pivot:IfExp" isElseIf="true" type="#XEMMs"> |
| <ownedCondition xsi:type="pivot:OperationCallExp" name="=" referredOperation="#2dcxV" type="#XEMMs"> |
| <ownedArguments xsi:type="pivot:BooleanLiteralExp" booleanSymbol="false" type="#XEMMs"/> |
| <ownedSource xsi:type="pivot:VariableExp" isRequired="false" name="b" referredVariable="#jXcmC" type="#XEMMs"/> |
| </ownedCondition> |
| <ownedElse xsi:type="pivot:VariableExp" name="self" referredVariable="#Ing82" type="#XEMMs"/> |
| <ownedThen xsi:type="pivot:BooleanLiteralExp" booleanSymbol="false" type="#XEMMs"/> |
| </ownedElse> |
| <ownedThen xsi:type="pivot:VariableExp" name="self" referredVariable="#Ing82" type="#XEMMs"/> |
| </ownedThen> |
| </ownedBody> |
| <ownedContext xsi:type="pivot:ParameterVariable" xmi:id="Ing82" name="self" type="#XEMMs"/> |
| <ownedParameters xsi:type="pivot:ParameterVariable" xmi:id="jXcmC" isRequired="false" name="b" representedParameter="#Z7lXU" |
| type="#XEMMs"/> |
| </bodyExpression> |
| <ownedAnnotations xsi:type="pivot:Annotation" name="http://www.omg.org/ocl"> |
| <ownedDetails name="ClassGroup"> |
| <values>Primitive</values> |
| </ownedDetails> |
| </ownedAnnotations> |
| <ownedComments body="oclText[false] if either oclText[self] or oclText[b] is oclText[false].
Otherwise oclText[invalid] if either oclText[self] or oclText[b] is oclText[invalid] .
Otherwise oclText[null] if either oclText[self] or oclText[b] is oclText[null].
Otherwise oclText[true].
"/> |
| <ownedParameters xmi:id="Z7lXU" isRequired="false" name="b" type="#XEMMs"/> |
| </ownedOperations> |
| <ownedOperations xmi:id="gKkjU" implementationClass="org.eclipse.ocl.pivot.library.logical.BooleanAndOperation2" isValidating="true" |
| name="and2" precedence="#VT87C" type="#XEMMs"> |
| <bodyExpression xsi:type="pivot:ExpressionInOCL" body="if self = false then false
			 elseif b = false then false
			 else true
			 endif" |
| type="#XEMMs"> |
| <ownedBody xsi:type="pivot:IfExp" type="#XEMMs"> |
| <ownedCondition xsi:type="pivot:OperationCallExp" name="=" referredOperation="#2dcxV" type="#XEMMs"> |
| <ownedArguments xsi:type="pivot:BooleanLiteralExp" booleanSymbol="false" type="#XEMMs"/> |
| <ownedSource xsi:type="pivot:VariableExp" name="self" referredVariable="#MxyDI" type="#XEMMs"/> |
| </ownedCondition> |
| <ownedElse xsi:type="pivot:IfExp" isElseIf="true" type="#XEMMs"> |
| <ownedCondition xsi:type="pivot:OperationCallExp" name="=" referredOperation="#2dcxV" type="#XEMMs"> |
| <ownedArguments xsi:type="pivot:BooleanLiteralExp" booleanSymbol="false" type="#XEMMs"/> |
| <ownedSource xsi:type="pivot:VariableExp" name="b" referredVariable="#nhutT" type="#XEMMs"/> |
| </ownedCondition> |
| <ownedElse xsi:type="pivot:BooleanLiteralExp" booleanSymbol="true" type="#XEMMs"/> |
| <ownedThen xsi:type="pivot:BooleanLiteralExp" booleanSymbol="false" type="#XEMMs"/> |
| </ownedElse> |
| <ownedThen xsi:type="pivot:BooleanLiteralExp" booleanSymbol="false" type="#XEMMs"/> |
| </ownedBody> |
| <ownedContext xsi:type="pivot:ParameterVariable" xmi:id="MxyDI" name="self" type="#XEMMs"/> |
| <ownedParameters xsi:type="pivot:ParameterVariable" xmi:id="nhutT" name="b" representedParameter="#tix9E" type="#XEMMs"/> |
| </bodyExpression> |
| <ownedComments body="oclText[false] if either oclText[self] or oclText[b] is oclText[false].
Otherwise oclText[true].
"/> |
| <ownedParameters xmi:id="tix9E" name="b" type="#XEMMs"/> |
| </ownedOperations> |
| <ownedOperations xmi:id="cIALH" implementationClass="org.eclipse.ocl.pivot.library.logical.BooleanImpliesOperation" isInvalidating="true" |
| isRequired="false" isValidating="true" name="implies" precedence="#1Odhg" type="#XEMMs"> |
| <bodyExpression xsi:type="pivot:ExpressionInOCL" body="if self.oclIsInvalid() then
				if b.oclIsInvalid() then self
				elseif b = true then true
				else self
				endif
			 elseif self = false then true
			 elseif b.oclIsInvalid() then b
			 elseif b = true then true
			 elseif self = null then null
			 elseif b = null then b
			 else false
			 endif" |
| isRequired="false" type="#XEMMs"> |
| <ownedBody xsi:type="pivot:IfExp" isRequired="false" type="#XEMMs"> |
| <ownedCondition xsi:type="pivot:OperationCallExp" name="oclIsInvalid" referredOperation="#Bz+rT" type="#XEMMs"> |
| <ownedSource xsi:type="pivot:VariableExp" name="self" referredVariable="#oe0Z9" type="#XEMMs"/> |
| </ownedCondition> |
| <ownedElse xsi:type="pivot:IfExp" isElseIf="true" isRequired="false" type="#XEMMs"> |
| <ownedCondition xsi:type="pivot:OperationCallExp" name="=" referredOperation="#2dcxV" type="#XEMMs"> |
| <ownedArguments xsi:type="pivot:BooleanLiteralExp" booleanSymbol="false" type="#XEMMs"/> |
| <ownedSource xsi:type="pivot:VariableExp" name="self" referredVariable="#oe0Z9" type="#XEMMs"/> |
| </ownedCondition> |
| <ownedElse xsi:type="pivot:IfExp" isElseIf="true" isRequired="false" type="#XEMMs"> |
| <ownedCondition xsi:type="pivot:OperationCallExp" name="oclIsInvalid" referredOperation="#Bz+rT" type="#XEMMs"> |
| <ownedSource xsi:type="pivot:VariableExp" isRequired="false" name="b" referredVariable="#DPwDJ" type="#XEMMs"/> |
| </ownedCondition> |
| <ownedElse xsi:type="pivot:IfExp" isElseIf="true" isRequired="false" type="#XEMMs"> |
| <ownedCondition xsi:type="pivot:OperationCallExp" name="=" referredOperation="#2dcxV" type="#XEMMs"> |
| <ownedArguments xsi:type="pivot:BooleanLiteralExp" booleanSymbol="true" type="#XEMMs"/> |
| <ownedSource xsi:type="pivot:VariableExp" isRequired="false" name="b" referredVariable="#DPwDJ" type="#XEMMs"/> |
| </ownedCondition> |
| <ownedElse xsi:type="pivot:IfExp" isElseIf="true" isRequired="false" type="#XEMMs"> |
| <ownedCondition xsi:type="pivot:OperationCallExp" name="=" referredOperation="#2dcxV" type="#XEMMs"> |
| <ownedArguments xsi:type="pivot:NullLiteralExp" isRequired="false" type="#7u3MH"/> |
| <ownedSource xsi:type="pivot:VariableExp" name="self" referredVariable="#oe0Z9" type="#XEMMs"/> |
| </ownedCondition> |
| <ownedElse xsi:type="pivot:IfExp" isElseIf="true" isRequired="false" type="#XEMMs"> |
| <ownedCondition xsi:type="pivot:OperationCallExp" name="=" referredOperation="#2dcxV" type="#XEMMs"> |
| <ownedArguments xsi:type="pivot:NullLiteralExp" isRequired="false" type="#7u3MH"/> |
| <ownedSource xsi:type="pivot:VariableExp" isRequired="false" name="b" referredVariable="#DPwDJ" type="#XEMMs"/> |
| </ownedCondition> |
| <ownedElse xsi:type="pivot:BooleanLiteralExp" booleanSymbol="false" type="#XEMMs"/> |
| <ownedThen xsi:type="pivot:VariableExp" isRequired="false" name="b" referredVariable="#DPwDJ" type="#XEMMs"/> |
| </ownedElse> |
| <ownedThen xsi:type="pivot:NullLiteralExp" isRequired="false" type="#7u3MH"/> |
| </ownedElse> |
| <ownedThen xsi:type="pivot:BooleanLiteralExp" booleanSymbol="true" type="#XEMMs"/> |
| </ownedElse> |
| <ownedThen xsi:type="pivot:VariableExp" isRequired="false" name="b" referredVariable="#DPwDJ" type="#XEMMs"/> |
| </ownedElse> |
| <ownedThen xsi:type="pivot:BooleanLiteralExp" booleanSymbol="true" type="#XEMMs"/> |
| </ownedElse> |
| <ownedThen xsi:type="pivot:IfExp" type="#XEMMs"> |
| <ownedCondition xsi:type="pivot:OperationCallExp" name="oclIsInvalid" referredOperation="#Bz+rT" type="#XEMMs"> |
| <ownedSource xsi:type="pivot:VariableExp" isRequired="false" name="b" referredVariable="#DPwDJ" type="#XEMMs"/> |
| </ownedCondition> |
| <ownedElse xsi:type="pivot:IfExp" isElseIf="true" type="#XEMMs"> |
| <ownedCondition xsi:type="pivot:OperationCallExp" name="=" referredOperation="#2dcxV" type="#XEMMs"> |
| <ownedArguments xsi:type="pivot:BooleanLiteralExp" booleanSymbol="true" type="#XEMMs"/> |
| <ownedSource xsi:type="pivot:VariableExp" isRequired="false" name="b" referredVariable="#DPwDJ" type="#XEMMs"/> |
| </ownedCondition> |
| <ownedElse xsi:type="pivot:VariableExp" name="self" referredVariable="#oe0Z9" type="#XEMMs"/> |
| <ownedThen xsi:type="pivot:BooleanLiteralExp" booleanSymbol="true" type="#XEMMs"/> |
| </ownedElse> |
| <ownedThen xsi:type="pivot:VariableExp" name="self" referredVariable="#oe0Z9" type="#XEMMs"/> |
| </ownedThen> |
| </ownedBody> |
| <ownedContext xsi:type="pivot:ParameterVariable" xmi:id="oe0Z9" name="self" type="#XEMMs"/> |
| <ownedParameters xsi:type="pivot:ParameterVariable" xmi:id="DPwDJ" isRequired="false" name="b" representedParameter="#5o8Gk" |
| type="#XEMMs"/> |
| </bodyExpression> |
| <ownedComments body="oclText[true] if oclText[self] is oclText[false], or if oclText[b] is oclText[true].
Otherwise oclText[invalid] if either oclText[self] or oclText[b] is oclText[invalid].
Otherwise oclText[null] if either oclText[self] or oclText[b] is oclText[null].
Otherwise oclText[false].
"/> |
| <ownedParameters xmi:id="5o8Gk" isRequired="false" name="b" type="#XEMMs"/> |
| </ownedOperations> |
| <ownedOperations xmi:id="AfRB7" implementationClass="org.eclipse.ocl.pivot.library.logical.BooleanImpliesOperation2" isValidating="true" |
| name="implies2" precedence="#1Odhg" type="#XEMMs"> |
| <bodyExpression xsi:type="pivot:ExpressionInOCL" body="if self = false then true
			 elseif b = true then true
			 else false
			 endif" |
| type="#XEMMs"> |
| <ownedBody xsi:type="pivot:IfExp" type="#XEMMs"> |
| <ownedCondition xsi:type="pivot:OperationCallExp" name="=" referredOperation="#2dcxV" type="#XEMMs"> |
| <ownedArguments xsi:type="pivot:BooleanLiteralExp" booleanSymbol="false" type="#XEMMs"/> |
| <ownedSource xsi:type="pivot:VariableExp" name="self" referredVariable="#spaQQ" type="#XEMMs"/> |
| </ownedCondition> |
| <ownedElse xsi:type="pivot:IfExp" isElseIf="true" type="#XEMMs"> |
| <ownedCondition xsi:type="pivot:OperationCallExp" name="=" referredOperation="#2dcxV" type="#XEMMs"> |
| <ownedArguments xsi:type="pivot:BooleanLiteralExp" booleanSymbol="true" type="#XEMMs"/> |
| <ownedSource xsi:type="pivot:VariableExp" name="b" referredVariable="#HaW6b" type="#XEMMs"/> |
| </ownedCondition> |
| <ownedElse xsi:type="pivot:BooleanLiteralExp" booleanSymbol="false" type="#XEMMs"/> |
| <ownedThen xsi:type="pivot:BooleanLiteralExp" booleanSymbol="true" type="#XEMMs"/> |
| </ownedElse> |
| <ownedThen xsi:type="pivot:BooleanLiteralExp" booleanSymbol="true" type="#XEMMs"/> |
| </ownedBody> |
| <ownedContext xsi:type="pivot:ParameterVariable" xmi:id="spaQQ" name="self" type="#XEMMs"/> |
| <ownedParameters xsi:type="pivot:ParameterVariable" xmi:id="HaW6b" name="b" representedParameter="#Nlx5s" type="#XEMMs"/> |
| </bodyExpression> |
| <ownedComments body="oclText[true] if oclText[self] is oclText[false], or if oclText[b] is oclText[true].
Otherwise oclText[false].
"/> |
| <ownedParameters xmi:id="Nlx5s" name="b" type="#XEMMs"/> |
| </ownedOperations> |
| <ownedOperations xmi:id="DH5kA" implementationClass="org.eclipse.ocl.pivot.library.logical.BooleanNotOperation" isInvalidating="true" |
| isRequired="false" isValidating="true" name="not" precedence="#tgQwH" type="#XEMMs"> |
| <bodyExpression xsi:type="pivot:ExpressionInOCL" body="if self.oclIsInvalid() then self
			 elseif self = null then null
			 else self = false
			 endif" |
| isRequired="false" type="#XEMMs"> |
| <ownedBody xsi:type="pivot:IfExp" isRequired="false" type="#XEMMs"> |
| <ownedCondition xsi:type="pivot:OperationCallExp" name="oclIsInvalid" referredOperation="#Bz+rT" type="#XEMMs"> |
| <ownedSource xsi:type="pivot:VariableExp" name="self" referredVariable="#Hy6AH" type="#XEMMs"/> |
| </ownedCondition> |
| <ownedElse xsi:type="pivot:IfExp" isElseIf="true" isRequired="false" type="#XEMMs"> |
| <ownedCondition xsi:type="pivot:OperationCallExp" name="=" referredOperation="#2dcxV" type="#XEMMs"> |
| <ownedArguments xsi:type="pivot:NullLiteralExp" isRequired="false" type="#7u3MH"/> |
| <ownedSource xsi:type="pivot:VariableExp" name="self" referredVariable="#Hy6AH" type="#XEMMs"/> |
| </ownedCondition> |
| <ownedElse xsi:type="pivot:OperationCallExp" name="=" referredOperation="#2dcxV" type="#XEMMs"> |
| <ownedArguments xsi:type="pivot:BooleanLiteralExp" booleanSymbol="false" type="#XEMMs"/> |
| <ownedSource xsi:type="pivot:VariableExp" name="self" referredVariable="#Hy6AH" type="#XEMMs"/> |
| </ownedElse> |
| <ownedThen xsi:type="pivot:NullLiteralExp" isRequired="false" type="#7u3MH"/> |
| </ownedElse> |
| <ownedThen xsi:type="pivot:VariableExp" name="self" referredVariable="#Hy6AH" type="#XEMMs"/> |
| </ownedBody> |
| <ownedContext xsi:type="pivot:ParameterVariable" xmi:id="Hy6AH" name="self" type="#XEMMs"/> |
| </bodyExpression> |
| <ownedComments body="oclText[true] if oclText[self] is oclText[false].
oclText[false] if oclText[self] is oclText[true].
oclText[null] if oclText[self] is oclText[null].
Otherwise oclText[invalid].
"/> |
| </ownedOperations> |
| <ownedOperations xmi:id="vaZxA" implementationClass="org.eclipse.ocl.pivot.library.logical.BooleanNotOperation2" name="not2" precedence="#tgQwH" |
| type="#XEMMs"> |
| <bodyExpression xsi:type="pivot:ExpressionInOCL" body="if self then false else true endif" type="#XEMMs"> |
| <ownedBody xsi:type="pivot:IfExp" type="#XEMMs"> |
| <ownedCondition xsi:type="pivot:VariableExp" name="self" referredVariable="#Tj7Dn" type="#XEMMs"/> |
| <ownedElse xsi:type="pivot:BooleanLiteralExp" booleanSymbol="true" type="#XEMMs"/> |
| <ownedThen xsi:type="pivot:BooleanLiteralExp" booleanSymbol="false" type="#XEMMs"/> |
| </ownedBody> |
| <ownedContext xsi:type="pivot:ParameterVariable" xmi:id="Tj7Dn" name="self" type="#XEMMs"/> |
| </bodyExpression> |
| <ownedComments body="oclText[true] if oclText[self] is oclText[false].
Otherwise oclText[false].
"/> |
| </ownedOperations> |
| <ownedOperations xmi:id="I9IYU" implementationClass="org.eclipse.ocl.pivot.library.logical.BooleanOrOperation" isInvalidating="true" |
| isRequired="false" isValidating="true" name="or" precedence="#BEt7C" type="#XEMMs"> |
| <bodyExpression xsi:type="pivot:ExpressionInOCL" body="if self.oclIsInvalid() then
				if b.oclIsInvalid() then self
				elseif b = true then true
				else self
				endif
			 elseif self = true then true
			 elseif b.oclIsInvalid() then b
			 elseif b = true then true
			 elseif self = null then null
			 elseif b = null then null
			 else false
			 endif" |
| isRequired="false" type="#XEMMs"> |
| <ownedBody xsi:type="pivot:IfExp" isRequired="false" type="#XEMMs"> |
| <ownedCondition xsi:type="pivot:OperationCallExp" name="oclIsInvalid" referredOperation="#Bz+rT" type="#XEMMs"> |
| <ownedSource xsi:type="pivot:VariableExp" name="self" referredVariable="#04BxZ" type="#XEMMs"/> |
| </ownedCondition> |
| <ownedElse xsi:type="pivot:IfExp" isElseIf="true" isRequired="false" type="#XEMMs"> |
| <ownedCondition xsi:type="pivot:OperationCallExp" name="=" referredOperation="#2dcxV" type="#XEMMs"> |
| <ownedArguments xsi:type="pivot:BooleanLiteralExp" booleanSymbol="true" type="#XEMMs"/> |
| <ownedSource xsi:type="pivot:VariableExp" name="self" referredVariable="#04BxZ" type="#XEMMs"/> |
| </ownedCondition> |
| <ownedElse xsi:type="pivot:IfExp" isElseIf="true" isRequired="false" type="#XEMMs"> |
| <ownedCondition xsi:type="pivot:OperationCallExp" name="oclIsInvalid" referredOperation="#Bz+rT" type="#XEMMs"> |
| <ownedSource xsi:type="pivot:VariableExp" isRequired="false" name="b" referredVariable="#Pp9al" type="#XEMMs"/> |
| </ownedCondition> |
| <ownedElse xsi:type="pivot:IfExp" isElseIf="true" isRequired="false" type="#XEMMs"> |
| <ownedCondition xsi:type="pivot:OperationCallExp" name="=" referredOperation="#2dcxV" type="#XEMMs"> |
| <ownedArguments xsi:type="pivot:BooleanLiteralExp" booleanSymbol="true" type="#XEMMs"/> |
| <ownedSource xsi:type="pivot:VariableExp" isRequired="false" name="b" referredVariable="#Pp9al" type="#XEMMs"/> |
| </ownedCondition> |
| <ownedElse xsi:type="pivot:IfExp" isElseIf="true" isRequired="false" type="#XEMMs"> |
| <ownedCondition xsi:type="pivot:OperationCallExp" name="=" referredOperation="#2dcxV" type="#XEMMs"> |
| <ownedArguments xsi:type="pivot:NullLiteralExp" isRequired="false" type="#7u3MH"/> |
| <ownedSource xsi:type="pivot:VariableExp" name="self" referredVariable="#04BxZ" type="#XEMMs"/> |
| </ownedCondition> |
| <ownedElse xsi:type="pivot:IfExp" isElseIf="true" isRequired="false" type="#XEMMs"> |
| <ownedCondition xsi:type="pivot:OperationCallExp" name="=" referredOperation="#2dcxV" type="#XEMMs"> |
| <ownedArguments xsi:type="pivot:NullLiteralExp" isRequired="false" type="#7u3MH"/> |
| <ownedSource xsi:type="pivot:VariableExp" isRequired="false" name="b" referredVariable="#Pp9al" type="#XEMMs"/> |
| </ownedCondition> |
| <ownedElse xsi:type="pivot:BooleanLiteralExp" booleanSymbol="false" type="#XEMMs"/> |
| <ownedThen xsi:type="pivot:NullLiteralExp" isRequired="false" type="#7u3MH"/> |
| </ownedElse> |
| <ownedThen xsi:type="pivot:NullLiteralExp" isRequired="false" type="#7u3MH"/> |
| </ownedElse> |
| <ownedThen xsi:type="pivot:BooleanLiteralExp" booleanSymbol="true" type="#XEMMs"/> |
| </ownedElse> |
| <ownedThen xsi:type="pivot:VariableExp" isRequired="false" name="b" referredVariable="#Pp9al" type="#XEMMs"/> |
| </ownedElse> |
| <ownedThen xsi:type="pivot:BooleanLiteralExp" booleanSymbol="true" type="#XEMMs"/> |
| </ownedElse> |
| <ownedThen xsi:type="pivot:IfExp" type="#XEMMs"> |
| <ownedCondition xsi:type="pivot:OperationCallExp" name="oclIsInvalid" referredOperation="#Bz+rT" type="#XEMMs"> |
| <ownedSource xsi:type="pivot:VariableExp" isRequired="false" name="b" referredVariable="#Pp9al" type="#XEMMs"/> |
| </ownedCondition> |
| <ownedElse xsi:type="pivot:IfExp" isElseIf="true" type="#XEMMs"> |
| <ownedCondition xsi:type="pivot:OperationCallExp" name="=" referredOperation="#2dcxV" type="#XEMMs"> |
| <ownedArguments xsi:type="pivot:BooleanLiteralExp" booleanSymbol="true" type="#XEMMs"/> |
| <ownedSource xsi:type="pivot:VariableExp" isRequired="false" name="b" referredVariable="#Pp9al" type="#XEMMs"/> |
| </ownedCondition> |
| <ownedElse xsi:type="pivot:VariableExp" name="self" referredVariable="#04BxZ" type="#XEMMs"/> |
| <ownedThen xsi:type="pivot:BooleanLiteralExp" booleanSymbol="true" type="#XEMMs"/> |
| </ownedElse> |
| <ownedThen xsi:type="pivot:VariableExp" name="self" referredVariable="#04BxZ" type="#XEMMs"/> |
| </ownedThen> |
| </ownedBody> |
| <ownedContext xsi:type="pivot:ParameterVariable" xmi:id="04BxZ" name="self" type="#XEMMs"/> |
| <ownedParameters xsi:type="pivot:ParameterVariable" xmi:id="Pp9al" isRequired="false" name="b" representedParameter="#1KtsO" |
| type="#XEMMs"/> |
| </bodyExpression> |
| <ownedComments body="oclText[true] if either oclText[self] or oclText[b] is oclText[true].
Otherwise oclText[invalid] if either oclText[self] or oclText[b] is oclText[invalid].
Otherwise oclText[null] if either oclText[self] or oclText[b] is oclText[null].
Otherwise oclText[false].
"/> |
| <ownedParameters xmi:id="1KtsO" isRequired="false" name="b" type="#XEMMs"/> |
| </ownedOperations> |
| <ownedOperations xmi:id="UAjYU" implementationClass="org.eclipse.ocl.pivot.library.logical.BooleanOrOperation2" isValidating="true" |
| name="or2" precedence="#BEt7C" type="#XEMMs"> |
| <bodyExpression xsi:type="pivot:ExpressionInOCL" body="if self = true then true
			 elseif b = true then true
			 else false
			 endif" |
| type="#XEMMs"> |
| <ownedBody xsi:type="pivot:IfExp" type="#XEMMs"> |
| <ownedCondition xsi:type="pivot:OperationCallExp" name="=" referredOperation="#2dcxV" type="#XEMMs"> |
| <ownedArguments xsi:type="pivot:BooleanLiteralExp" booleanSymbol="true" type="#XEMMs"/> |
| <ownedSource xsi:type="pivot:VariableExp" name="self" referredVariable="#gV6f," type="#XEMMs"/> |
| </ownedCondition> |
| <ownedElse xsi:type="pivot:IfExp" isElseIf="true" type="#XEMMs"> |
| <ownedCondition xsi:type="pivot:OperationCallExp" name="=" referredOperation="#2dcxV" type="#XEMMs"> |
| <ownedArguments xsi:type="pivot:BooleanLiteralExp" booleanSymbol="true" type="#XEMMs"/> |
| <ownedSource xsi:type="pivot:VariableExp" name="b" referredVariable="#7F2JL" type="#XEMMs"/> |
| </ownedCondition> |
| <ownedElse xsi:type="pivot:BooleanLiteralExp" booleanSymbol="false" type="#XEMMs"/> |
| <ownedThen xsi:type="pivot:BooleanLiteralExp" booleanSymbol="true" type="#XEMMs"/> |
| </ownedElse> |
| <ownedThen xsi:type="pivot:BooleanLiteralExp" booleanSymbol="true" type="#XEMMs"/> |
| </ownedBody> |
| <ownedContext xsi:type="pivot:ParameterVariable" xmi:id="gV6f," name="self" type="#XEMMs"/> |
| <ownedParameters xsi:type="pivot:ParameterVariable" xmi:id="7F2JL" name="b" representedParameter="#RBSMV" type="#XEMMs"/> |
| </bodyExpression> |
| <ownedComments body="oclText[true] if either oclText[self] or oclText[b] is oclText[true].
Otherwise oclText[false].
"/> |
| <ownedParameters xmi:id="RBSMV" name="b" type="#XEMMs"/> |
| </ownedOperations> |
| <ownedOperations xmi:id="clDqW" implementationClass="org.eclipse.ocl.pivot.library.oclany.OclAnyToStringOperation" name="toString" |
| type="#AlwVZ"> |
| <ownedComments body="Converts oclText[self] to a string value.
"/> |
| </ownedOperations> |
| <ownedOperations xmi:id="AHlYU" implementationClass="org.eclipse.ocl.pivot.library.logical.BooleanXorOperation" isRequired="false" |
| name="xor" precedence="#ZtB8C" type="#XEMMs"> |
| <bodyExpression xsi:type="pivot:ExpressionInOCL" body="if self.oclIsInvalid() then self
			 elseif b.oclIsInvalid() then b
			 elseif self = null then null
			 elseif b = null then null
			 else self <> b
			 endif" |
| isRequired="false" type="#XEMMs"> |
| <ownedBody xsi:type="pivot:IfExp" isRequired="false" type="#XEMMs"> |
| <ownedCondition xsi:type="pivot:OperationCallExp" name="oclIsInvalid" referredOperation="#Bz+rT" type="#XEMMs"> |
| <ownedSource xsi:type="pivot:VariableExp" name="self" referredVariable="#sRLGX" type="#XEMMs"/> |
| </ownedCondition> |
| <ownedElse xsi:type="pivot:IfExp" isElseIf="true" isRequired="false" type="#XEMMs"> |
| <ownedCondition xsi:type="pivot:OperationCallExp" name="oclIsInvalid" referredOperation="#Bz+rT" type="#XEMMs"> |
| <ownedSource xsi:type="pivot:VariableExp" isRequired="false" name="b" referredVariable="#HCHwi" type="#XEMMs"/> |
| </ownedCondition> |
| <ownedElse xsi:type="pivot:IfExp" isElseIf="true" isRequired="false" type="#XEMMs"> |
| <ownedCondition xsi:type="pivot:OperationCallExp" name="=" referredOperation="#2dcxV" type="#XEMMs"> |
| <ownedArguments xsi:type="pivot:NullLiteralExp" isRequired="false" type="#7u3MH"/> |
| <ownedSource xsi:type="pivot:VariableExp" name="self" referredVariable="#sRLGX" type="#XEMMs"/> |
| </ownedCondition> |
| <ownedElse xsi:type="pivot:IfExp" isElseIf="true" isRequired="false" type="#XEMMs"> |
| <ownedCondition xsi:type="pivot:OperationCallExp" name="=" referredOperation="#2dcxV" type="#XEMMs"> |
| <ownedArguments xsi:type="pivot:NullLiteralExp" isRequired="false" type="#7u3MH"/> |
| <ownedSource xsi:type="pivot:VariableExp" isRequired="false" name="b" referredVariable="#HCHwi" type="#XEMMs"/> |
| </ownedCondition> |
| <ownedElse xsi:type="pivot:OperationCallExp" name="<>" referredOperation="#76cxV" type="#XEMMs"> |
| <ownedArguments xsi:type="pivot:VariableExp" isRequired="false" name="b" referredVariable="#HCHwi" type="#XEMMs"/> |
| <ownedSource xsi:type="pivot:VariableExp" name="self" referredVariable="#sRLGX" type="#XEMMs"/> |
| </ownedElse> |
| <ownedThen xsi:type="pivot:NullLiteralExp" isRequired="false" type="#7u3MH"/> |
| </ownedElse> |
| <ownedThen xsi:type="pivot:NullLiteralExp" isRequired="false" type="#7u3MH"/> |
| </ownedElse> |
| <ownedThen xsi:type="pivot:VariableExp" isRequired="false" name="b" referredVariable="#HCHwi" type="#XEMMs"/> |
| </ownedElse> |
| <ownedThen xsi:type="pivot:VariableExp" name="self" referredVariable="#sRLGX" type="#XEMMs"/> |
| </ownedBody> |
| <ownedContext xsi:type="pivot:ParameterVariable" xmi:id="sRLGX" name="self" type="#XEMMs"/> |
| <ownedParameters xsi:type="pivot:ParameterVariable" xmi:id="HCHwi" isRequired="false" name="b" representedParameter="#Nt2tV" |
| type="#XEMMs"/> |
| </bodyExpression> |
| <ownedComments body="oclText[true] if oclText[self] is oclText[true] and oclText[b] is oclText[false], or if oclText[self] is oclText[false] and oclText[b] is oclText[true].
oclText[false] if oclText[self] is oclText[true] and oclText[b] is oclText[true], or if oclText[self] is oclText[false] and oclText[b] is oclText[false].
Otherwise oclText[invalid] if either oclText[self] or oclText[b] is oclText[invalid].
Otherwise oclText[null].
"/> |
| <ownedParameters xmi:id="Nt2tV" isRequired="false" name="b" type="#XEMMs"/> |
| </ownedOperations> |
| <ownedOperations xmi:id="cyLmU" implementationClass="org.eclipse.ocl.pivot.library.logical.BooleanXorOperation2" name="xor2" precedence="#ZtB8C" |
| type="#XEMMs"> |
| <bodyExpression xsi:type="pivot:ExpressionInOCL" body="self <> b" type="#XEMMs"> |
| <ownedBody xsi:type="pivot:OperationCallExp" name="<>" referredOperation="#76cxV" type="#XEMMs"> |
| <ownedArguments xsi:type="pivot:VariableExp" name="b" referredVariable="#DJZZ4" type="#XEMMs"/> |
| <ownedSource xsi:type="pivot:VariableExp" name="self" referredVariable="#oYdvs" type="#XEMMs"/> |
| </ownedBody> |
| <ownedContext xsi:type="pivot:ParameterVariable" xmi:id="oYdvs" name="self" type="#XEMMs"/> |
| <ownedParameters xsi:type="pivot:ParameterVariable" xmi:id="DJZZ4" name="b" representedParameter="#5q5vu" type="#XEMMs"/> |
| </bodyExpression> |
| <ownedComments body="oclText[true] if oclText[self] <> oclText[b]
Otherwise oclText[false].
"/> |
| <ownedParameters xmi:id="5q5vu" name="b" type="#XEMMs"/> |
| </ownedOperations> |
| </ownedClasses> |
| <ownedClasses xmi:id="xB4J7" name="BooleanType" superClasses="#zfDWR"> |
| <ownedComments body="The standard type Boolean represents the common true/false values.
Boolean is itself an instance of the metatype PrimitiveType (from UML).
"/> |
| <ownedOperations xmi:id=",q,nx" implementationClass="org.eclipse.ocl.pivot.library.classifier.ClassifierAllInstancesOperation" name="allInstances" |
| type="#UQF4+"> |
| <ownedComments body="Returns oclText[Set{false, true}]."/> |
| </ownedOperations> |
| </ownedClasses> |
| <ownedClasses xmi:id="nZ3,I" name="Class" superClasses="#zfDWR"> |
| <ownedOperations xmi:id="dD,7n" implementationClass="org.eclipse.ocl.pivot.library.classifier.ClassifierAllInstancesOperation" name="allInstances" |
| type="#UQF4+"> |
| <ownedComments body="Return a set of all instances of the type and derived types of self."/> |
| </ownedOperations> |
| </ownedClasses> |
| <ownedClasses xsi:type="pivot:CollectionType" xmi:id="IgEJU" instanceClassName="java.util.Collection" isAbstract="true" name="Collection" |
| superClasses="#jbMkR"> |
| <ownedAnnotations xsi:type="pivot:Annotation" name="http://www.omg.org/ocl"> |
| <ownedDetails name="ClassGroup"> |
| <values>Collection</values> |
| </ownedDetails> |
| </ownedAnnotations> |
| <ownedComments body="Collection is the abstract supertype of all collection types in the OCL Standard Library.
Each occurrence of an object in a collection is called an element.
If an object occurs twice in a collection, there are two elements.

This sub clause defines the properties on Collections that have identical semantics for all collection subtypes.
Some operations may be defined within the subtype as well,
which means that there is an additional postcondition or a more specialized return value.
Collection is itself an instance of the metatype CollectionType.

The definition of several common operations is different for each subtype.
These operations are not mentioned in this sub clause.

The semantics of the collection operations is given in the form of a postcondition that uses the IterateExp of the IteratorExp construct.
The semantics of those constructs is defined in Clause 10 (âSemantics Described using UMLâ).
In several cases the postcondition refers to other collection operations,
which in turn are defined in terms of the IterateExp or IteratorExp constructs.

Well-formedness rules

[1] A collection cannot contain oclText[invalid] values.

context Collection
inv: self->forAll(not oclIsInvalid())"/> |
| <ownedOperations xmi:id="o3vBs" implementationClass="org.eclipse.ocl.pivot.library.oclany.OclAnyNotEqualOperation" name="<>" |
| precedence="#YwCPU" type="#XEMMs"> |
| <ownedComments body="True if c is not equal to oclText[self].
"/> |
| <ownedParameters xmi:id="Gtcj+" isRequired="false" name="object2" type="#zlfMH"/> |
| </ownedOperations> |
| <ownedOperations xmi:id="javBs" implementationClass="org.eclipse.ocl.pivot.library.oclany.OclAnyEqualOperation" name="=" precedence="#YwCPU" |
| type="#XEMMs"> |
| <ownedComments body="True if c is a collection of the same kind as oclText[self] and contains the same elements in the same quantities and in the same order,
in the case of an ordered collection type.
"/> |
| <ownedParameters xmi:id="V0Mc+" isRequired="false" name="object2" type="#zlfMH"/> |
| </ownedOperations> |
| <ownedOperations xsi:type="pivot:Iteration" xmi:id="qBJ1W" implementationClass="org.eclipse.ocl.pivot.library.iterator.AnyIteration" |
| isRequired="false" name="any" type="#qs59R"> |
| <ownedComments body="Returns any element in the e[source] null-free collection for which e[body] evaluates to oclText[true].
Returns oclText[invalid] if the e[body] evaluates to oclText[invalid] for any element,
otherwise if there are one or more elements for which the e[body] is oclText[true],
an indeterminate choice of one of them is returned, otherwise the result is oclText[null].

let source : Collection(T) = ..., body : Lambda T() : Boolean = ... in
source->any(iterator | body) = source->select(iterator | body)->asSequence()->first()
"/> |
| <ownedIterators xmi:id="LZss0" name="i" type="#qs59R"/> |
| <ownedParameters xmi:id="PCZiX" name="body" type="#9VTck"/> |
| </ownedOperations> |
| <ownedOperations xmi:id="Ti0Xc" implementationClass="org.eclipse.ocl.pivot.library.collection.CollectionAsBagOperation" name="asBag" |
| type="#ZxUl9"> |
| <ownedComments body="The Bag that contains all the elements from oclText[self].
"/> |
| </ownedOperations> |
| <ownedOperations xmi:id="kC8EI" implementationClass="org.eclipse.ocl.pivot.library.collection.CollectionAsOrderedSetOperation" name="asOrderedSet" |
| type="#G1Pyh"> |
| <ownedComments body="An OrderedSet that contains all the elements from oclText[self], with duplicates removed,
in an order dependent on the particular concrete collection type.
"/> |
| </ownedOperations> |
| <ownedOperations xmi:id="ww6rV" implementationClass="org.eclipse.ocl.pivot.library.collection.CollectionAsSequenceOperation" name="asSequence" |
| type="#SRy3R"> |
| <ownedComments body="A Sequence that contains all the elements from oclText[self], in an order dependent on the particular concrete collection type.
"/> |
| </ownedOperations> |
| <ownedOperations xmi:id="tj4Xc" implementationClass="org.eclipse.ocl.pivot.library.collection.CollectionAsSetOperation" name="asSet" |
| type="#zyYl9"> |
| <ownedComments body="The Set containing all the elements from oclText[self], with duplicates removed.
"/> |
| </ownedOperations> |
| <ownedOperations xsi:type="pivot:Iteration" xmi:id="oenaP" implementationClass="org.eclipse.ocl.pivot.library.iterator.CollectIteration" |
| name="collect" type="#Be91P"> |
| <ownedComments body="The Collection of elements that results from applying body to every member of the source set.
The result is flattened. Notice that this is based on collectNested, which can be of different type depending on the type of source.
collectNested is defined individually for each subclass of CollectionType.
"/> |
| <ownedIterators xmi:id="Rigji" isRequired="false" name="i" type="#qs59R"/> |
| <ownedParameters xmi:id="6z+CD" isRequired="false" name="lambda" type="#Yd8AC"/> |
| <ownedSignature> |
| <ownedParameters xmi:id="MfE+M" name="V"/> |
| </ownedSignature> |
| </ownedOperations> |
| <ownedOperations xsi:type="pivot:Iteration" xmi:id="f2tFH" implementationClass="org.eclipse.ocl.pivot.library.iterator.CollectByIteration" |
| name="collectBy" type="#C3rSN"> |
| <ownedComments body="The Map from each element oclText[i] of the source collection, the key, to the set of values to and values that results from applying body to every value of the source map.
The result is not flattened.
"/> |
| <ownedIterators xmi:id="sKLIt" isRequired="false" name="i" type="#qs59R"/> |
| <ownedParameters xmi:id="VcpnN" isRequired="false" name="lambda" type="#ZBaNC"/> |
| <ownedSignature> |
| <ownedParameters xmi:id="7VL63" name="V"/> |
| </ownedSignature> |
| </ownedOperations> |
| <ownedOperations xsi:type="pivot:Iteration" xmi:id=",0rQ3" implementationClass="org.eclipse.ocl.pivot.library.iterator.CollectNestedIteration" |
| name="collectNested" type="#4za1O"> |
| <ownedComments body="The Collection of elements which results from applying body to every member of the source collection.
"/> |
| <ownedIterators xmi:id="MP5GM" isRequired="false" name="i" type="#qs59R"/> |
| <ownedParameters xmi:id="1gXms" isRequired="false" name="lambda" type="#5Wr1B"/> |
| <ownedSignature> |
| <ownedParameters xmi:id="bIJfG" name="V"/> |
| </ownedSignature> |
| </ownedOperations> |
| <ownedOperations xmi:id="Nemec" implementationClass="org.eclipse.ocl.pivot.library.collection.CollectionCountOperation" name="count" |
| type="#tYtCd"> |
| <ownedComments body="The number of times that object occurs in the collection oclText[self].
"/> |
| <ownedParameters xmi:id="DDwxg" isRequired="false" name="object" type="#qs59R"/> |
| </ownedOperations> |
| <ownedOperations xmi:id="XRfrN" implementationClass="org.eclipse.ocl.pivot.library.collection.CollectionExcludesOperation" name="excludes" |
| type="#XEMMs"> |
| <ownedComments body="True if object is not an element of oclText[self], oclText[false] otherwise.
"/> |
| <ownedParameters xmi:id="lJ4Xb" isRequired="false" name="object" type="#qs59R"/> |
| </ownedOperations> |
| <ownedOperations xmi:id="vFNWB" implementationClass="org.eclipse.ocl.pivot.library.collection.CollectionExcludesAllOperation" name="excludesAll" |
| type="#XEMMs"> |
| <ownedComments body="Does oclText[self] contain none of the elements of c2 ?
"/> |
| <ownedParameters xmi:id="NQr0o" name="c2" type="#wPdfw"/> |
| <ownedSignature> |
| <ownedParameters xmi:id="THtXS" name="T2"/> |
| </ownedSignature> |
| </ownedOperations> |
| <ownedOperations xmi:id="VKAV7" implementationClass="org.eclipse.ocl.pivot.library.collection.CollectionExcludingOperation" name="excluding" |
| type="#IgEJU"> |
| <ownedComments body="The collection containing all elements of oclText[self] apart from object.
"/> |
| <ownedParameters xmi:id="r+kpq" isRequired="false" name="object" type="#qs59R"/> |
| </ownedOperations> |
| <ownedOperations xmi:id=",qXaV" implementationClass="org.eclipse.ocl.pivot.library.collection.CollectionExcludingAllOperation" name="excludingAll" |
| type="#IgEJU"> |
| <ownedComments body="The collection containing all elements of oclText[self] apart from all occurrences of all objects.
"/> |
| <ownedParameters xmi:id="CEbWM" name="objects" type="#IgEJU"/> |
| </ownedOperations> |
| <ownedOperations xsi:type="pivot:Iteration" xmi:id="arQ+J" implementationClass="org.eclipse.ocl.pivot.library.iterator.ExistsIteration" |
| isInvalidating="true" isRequired="false" isValidating="true" name="exists" type="#XEMMs"> |
| <ownedComments body="Results in oclText[true] if body evaluates to oclText[true] for at least one element oclText[i] in the source collection.
"/> |
| <ownedIterators xmi:id="7bxLt" isRequired="false" name="i" type="#qs59R"/> |
| <ownedParameters xmi:id="ktPrN" isRequired="false" name="lambda" type="#9VTck"/> |
| </ownedOperations> |
| <ownedOperations xsi:type="pivot:Iteration" xmi:id="cuQ+J" implementationClass="org.eclipse.ocl.pivot.library.iterator.ExistsIteration" |
| isInvalidating="true" isRequired="false" isValidating="true" name="exists" type="#XEMMs"> |
| <ownedComments body="Results in oclText[true] if body evaluates to oclText[true] for at least one permutation of elements oclText[i], oclText[j] in the source collection.
"/> |
| <ownedIterators xmi:id="1yhMt" isRequired="false" name="i" type="#qs59R"/> |
| <ownedIterators xmi:id="2yhMt" isRequired="false" name="j" type="#qs59R"/> |
| <ownedParameters xmi:id="eEAsN" isRequired="false" name="lambda" type="#9VTck"/> |
| </ownedOperations> |
| <ownedOperations xsi:type="pivot:Iteration" xmi:id=",yQ+J" implementationClass="org.eclipse.ocl.pivot.library.iterator.ExistsIteration" |
| isInvalidating="true" isRequired="false" isValidating="true" name="exists" type="#XEMMs"> |
| <ownedComments body="Results in oclText[true] if body evaluates to oclText[true] for at least one permutation of elements oclText[i], oclText[j], oclText[k] in the source collection.
"/> |
| <ownedIterators xmi:id="MVqNt" isRequired="false" name="i" type="#qs59R"/> |
| <ownedIterators xmi:id="NVqNt" isRequired="false" name="j" type="#qs59R"/> |
| <ownedIterators xmi:id="OVqNt" isRequired="false" name="k" type="#qs59R"/> |
| <ownedParameters xmi:id="1mItN" isRequired="false" name="lambda" type="#9VTck"/> |
| </ownedOperations> |
| <ownedOperations xmi:id="hg3Zo" implementationClass="org.eclipse.ocl.pivot.library.collection.CollectionFlattenOperation" name="flatten" |
| type="#ibDmk"> |
| <ownedComments body="If the element type is not a collection type, this results in the same collection as oclText[self].
If the element type is a collection type, the result is a collection containing all the elements of all the recursively flattened elements of oclText[self].
"/> |
| <ownedSignature> |
| <ownedParameters xmi:id="V4fY9" name="T2"/> |
| </ownedSignature> |
| </ownedOperations> |
| <ownedOperations xsi:type="pivot:Iteration" xmi:id="WqmML" implementationClass="org.eclipse.ocl.pivot.library.iterator.ForAllIteration" |
| isInvalidating="true" isRequired="false" isValidating="true" name="forAll" type="#XEMMs"> |
| <ownedComments body="Results in oclText[true] if the body expression evaluates to oclText[true] for each element oclText[i] in the source collection; otherwise, result is oclText[false].
"/> |
| <ownedIterators xmi:id="HfeAP" isRequired="false" name="i" type="#qs59R"/> |
| <ownedParameters xmi:id="ww8fv" isRequired="false" name="lambda" type="#9VTck"/> |
| </ownedOperations> |
| <ownedOperations xsi:type="pivot:Iteration" xmi:id="YtmML" implementationClass="org.eclipse.ocl.pivot.library.iterator.ForAllIteration" |
| isInvalidating="true" isRequired="false" isValidating="true" name="forAll" type="#XEMMs"> |
| <ownedComments body="Results in oclText[true] if the body expression evaluates to oclText[true] for each permutation of elements oclText[i], oclText[j], oclText[k] in the source collection; otherwise, result is oclText[false].
"/> |
| <ownedIterators xmi:id="B2OBP" isRequired="false" name="i" type="#qs59R"/> |
| <ownedIterators xmi:id="C2OBP" isRequired="false" name="j" type="#qs59R"/> |
| <ownedParameters xmi:id="qHtgv" isRequired="false" name="lambda" type="#9VTck"/> |
| </ownedOperations> |
| <ownedOperations xsi:type="pivot:Iteration" xmi:id="7xmML" implementationClass="org.eclipse.ocl.pivot.library.iterator.ForAllIteration" |
| isInvalidating="true" isRequired="false" isValidating="true" name="forAll" type="#XEMMs"> |
| <ownedComments body="Results in oclText[true] if the body expression evaluates to oclText[true] for each permutation of elements oclText[i], oclText[j] in the source collection; otherwise, result is oclText[false].
"/> |
| <ownedIterators xmi:id="YYXCP" isRequired="false" name="i" type="#qs59R"/> |
| <ownedIterators xmi:id="ZYXCP" isRequired="false" name="j" type="#qs59R"/> |
| <ownedIterators xmi:id="aYXCP" isRequired="false" name="k" type="#qs59R"/> |
| <ownedParameters xmi:id="Bq1hv" isRequired="false" name="lambda" type="#9VTck"/> |
| </ownedOperations> |
| <ownedOperations xmi:id="JdFNc" implementationClass="org.eclipse.ocl.pivot.library.collection.CollectionIncludesOperation" name="includes" |
| type="#XEMMs"> |
| <ownedComments body="True if object is an element of oclText[self], oclText[false] otherwise.
"/> |
| <ownedParameters xmi:id="PGCWJ" isRequired="false" name="object" type="#qs59R"/> |
| </ownedOperations> |
| <ownedOperations xmi:id="9ETDK" implementationClass="org.eclipse.ocl.pivot.library.collection.CollectionIncludesAllOperation" name="includesAll" |
| type="#XEMMs"> |
| <ownedComments body="Does oclText[self] contain all the elements of c2 ?
"/> |
| <ownedParameters xmi:id="jyMNg" name="c2" type="#+dsXX"/> |
| <ownedSignature> |
| <ownedParameters xmi:id="RAum0" name="T2"/> |
| </ownedSignature> |
| </ownedOperations> |
| <ownedOperations xmi:id="j3fm9" implementationClass="org.eclipse.ocl.pivot.library.collection.CollectionIncludingOperation" name="including" |
| type="#IgEJU"> |
| <ownedComments body="The collection containing all elements of oclText[self] plus object.
"/> |
| <ownedParameters xmi:id="BXZw7" isRequired="false" name="object" type="#qs59R"/> |
| </ownedOperations> |
| <ownedOperations xmi:id="xSRQj" implementationClass="org.eclipse.ocl.pivot.library.collection.CollectionIncludingAllOperation" name="includingAll" |
| type="#IgEJU"> |
| <ownedComments body="The collection containing all elements of oclText[self] and objects.
"/> |
| <ownedParameters xmi:id="ssqOB" name="objects" type="#IgEJU"/> |
| </ownedOperations> |
| <ownedOperations xmi:id="+sJto" implementationClass="org.eclipse.ocl.pivot.library.collection.CollectionIntersectionOperation" name="intersection" |
| type="#ZxUl9"> |
| <ownedComments body="The intersection of oclText[self] and bag; the bag of all elements that are in both oclText[self] and c.
"/> |
| <ownedParameters xmi:id="Ubo5h" name="c" type="#IgEJU"/> |
| </ownedOperations> |
| <ownedOperations xmi:id="YdPKO" implementationClass="org.eclipse.ocl.pivot.library.collection.CollectionIntersectionOperation" name="intersection" |
| type="#zyYl9"> |
| <ownedComments body="The intersection of oclText[self] and a unique collection; the set of all elements that are in both oclText[self] and u.
"/> |
| <ownedParameters xmi:id="Yqd+C" name="u" type="#gHti8"/> |
| </ownedOperations> |
| <ownedOperations xmi:id="ghkfR" implementationClass="org.eclipse.ocl.pivot.library.collection.CollectionIsEmptyOperation" name="isEmpty" |
| type="#XEMMs"> |
| <ownedComments body="Is oclText[self] the empty collection?

Note: oclText[null->isEmpty()] returns oclText[true] in virtue of the implicit casting from oclText[null] to oclText[Bag{}].
"/> |
| </ownedOperations> |
| <ownedOperations xsi:type="pivot:Iteration" xmi:id="ZQp5M" implementationClass="org.eclipse.ocl.pivot.library.iterator.IsUniqueIteration" |
| name="isUnique" type="#XEMMs"> |
| <ownedComments body="The Map from each element oclText[i] of the source collection, the key, to the set of values to and values that results from applying body to every value of the source map.
The result is not flattened.
"/> |
| <ownedComments body="Results in oclText[true] if body evaluates to a different value for each element oclText[i] in the source collection; otherwise, result is oclText[false].
"/> |
| <ownedIterators xmi:id="+c3ia" isRequired="false" name="i" type="#qs59R"/> |
| <ownedParameters xmi:id="nuVC7" isRequired="false" name="lambda" type="#x9vEt"/> |
| </ownedOperations> |
| <ownedOperations xsi:type="pivot:Iteration" xmi:id="6+B+U" implementationClass="org.eclipse.ocl.pivot.library.iterator.IterateIteration" |
| isRequired="false" name="iterate" type="#FfSe4"> |
| <ownedAccumulators xmi:id="NEijO" isRequired="false" name="acc" type="#FfSe4"/> |
| <ownedComments body="Results in the final value of the accumulator oclText[acc] whose value is updated by evaluation of oclText[lambda] for each element oclText[i] in the source collection.
"/> |
| <ownedIterators xmi:id="bhVhI" isRequired="false" name="i" type="#qs59R"/> |
| <ownedParameters xmi:id="EzzAp" isRequired="false" name="lambda" type="#vUOyu"/> |
| <ownedSignature> |
| <ownedParameters xmi:id="FfSe4" name="Tacc"/> |
| </ownedSignature> |
| </ownedOperations> |
| <ownedOperations xmi:id="BuL1W" implementationClass="org.eclipse.ocl.pivot.library.collection.CollectionMaxOperation" name="max" |
| type="#qs59R"> |
| <ownedComments body="The element with the maximum value of all elements in oclText[self].
Elements must be of a type supporting the max operation.
The max operation - supported by the elements - must take one parameter of type T and be both associative and commutative.
UnlimitedNatural, Integer and Real fulfill this condition.
"/> |
| </ownedOperations> |
| <ownedOperations xmi:id="vxL1W" implementationClass="org.eclipse.ocl.pivot.library.collection.CollectionMinOperation" name="min" |
| type="#qs59R"> |
| <ownedComments body="The element with the minimum value of all elements in oclText[self].
Elements must be of a type supporting the min operation.
The min operation - supported by the elements - must take one parameter of type T and be both associative and commutative.
UnlimitedNatural, Integer and Real fulfill this condition.
"/> |
| </ownedOperations> |
| <ownedOperations xmi:id="XxcWz" implementationClass="org.eclipse.ocl.pivot.library.collection.CollectionNotEmptyOperation" name="notEmpty" |
| type="#XEMMs"> |
| <ownedComments body="Is oclText[self] not the empty collection?

oclText[null->notEmpty()] returns oclText[false] in virtue of the implicit casting from oclText[null] to oclText[Bag{}].
"/> |
| </ownedOperations> |
| <ownedOperations xsi:type="pivot:Iteration" xmi:id="kTM1W" implementationClass="org.eclipse.ocl.pivot.library.iterator.OneIteration" |
| name="one" type="#XEMMs"> |
| <ownedComments body="Results in oclText[true] if there is exactly one element in the source collection for which body is oclText[true].
"/> |
| <ownedIterators xmi:id="dDBh1" isRequired="false" name="i" type="#qs59R"/> |
| <ownedParameters xmi:id="GVfAW" name="lambda" type="#9VTck"/> |
| </ownedOperations> |
| <ownedOperations xmi:id="WVvJn" implementationClass="org.eclipse.ocl.pivot.library.collection.CollectionProductOperation" name="product" |
| type="#AVIYn"> |
| <ownedComments body="The cartesian product operation of oclText[self] and c2.
"/> |
| <ownedParameters xmi:id="YR+9v" name="c2" type="#3GM3z"/> |
| <ownedSignature> |
| <ownedParameters xmi:id="yzGsR" name="T2"/> |
| </ownedSignature> |
| </ownedOperations> |
| <ownedOperations xsi:type="pivot:Iteration" xmi:id="doIHf" implementationClass="org.eclipse.ocl.pivot.library.iterator.RejectIteration" |
| name="reject" type="#IgEJU"> |
| <ownedComments body="The sub-collection of the source collection for which body is oclText[false].
"/> |
| <ownedIterators xmi:id="yUaw7" isRequired="false" name="i" type="#qs59R"/> |
| <ownedParameters xmi:id="bm4Pc" name="lambda" type="#9VTck"/> |
| </ownedOperations> |
| <ownedOperations xsi:type="pivot:Iteration" xmi:id="6tk0g" implementationClass="org.eclipse.ocl.pivot.library.iterator.SelectIteration" |
| name="select" type="#IgEJU"> |
| <ownedComments body="The sub-collection of the source collection for which body is oclText[true].
"/> |
| <ownedIterators xmi:id="bUdpN" isRequired="false" name="i" type="#qs59R"/> |
| <ownedParameters xmi:id="Em7Iu" name="lambda" type="#9VTck"/> |
| </ownedOperations> |
| <ownedOperations xmi:id="lMkqz" implementationClass="org.eclipse.ocl.pivot.library.collection.CollectionSelectByKindOperation" name="selectByKind" |
| type="#4oB7Y"> |
| <ownedComments body="The collection containing all elements of oclText[self] whose type conforms to oclText[type].
"/> |
| <ownedParameters xmi:id="2n72X" isTypeof="true" name="type" type="#bFs8P"/> |
| <ownedSignature> |
| <ownedParameters xmi:id="bFs8P" name="TT"/> |
| </ownedSignature> |
| </ownedOperations> |
| <ownedOperations xmi:id="Lbprz" implementationClass="org.eclipse.ocl.pivot.library.collection.CollectionSelectByTypeOperation" name="selectByType" |
| type="#eSM5X"> |
| <ownedComments body="The collection containing all elements of oclText[self] whose type is oclText[type].
"/> |
| <ownedParameters xmi:id="EcVHp" isTypeof="true" name="type" type="#xIioi"/> |
| <ownedSignature> |
| <ownedParameters xmi:id="xIioi" name="TT"/> |
| </ownedSignature> |
| </ownedOperations> |
| <ownedOperations xmi:id="eYPCX" implementationClass="org.eclipse.ocl.pivot.library.collection.CollectionSizeOperation" name="size" |
| type="#tYtCd"> |
| <ownedComments body="The number of elements in the collection oclText[self].
"/> |
| </ownedOperations> |
| <ownedOperations xsi:type="pivot:Iteration" xmi:id="yZH65" implementationClass="org.eclipse.ocl.pivot.library.iterator.SortedByIteration" |
| name="sortedBy" type="#SRy3R"> |
| <ownedComments body="Results in the Collection containing all elements of the source collection.
The element for which body has the lowest value comes first, and so on.
The type of the body expression must have the < operation defined.
The < operation must return a Boolean value and must be transitive (i.e., if a < b and b < c then a < c).
"/> |
| <ownedIterators xmi:id="zQzDb" isRequired="false" name="i" type="#qs59R"/> |
| <ownedParameters xmi:id="ciRj7" isRequired="false" name="lambda" type="#x9vEt"/> |
| </ownedOperations> |
| <ownedOperations xmi:id="oRN1W" implementationClass="org.eclipse.ocl.pivot.library.collection.CollectionSumOperation" name="sum" |
| type="#qs59R"> |
| <ownedComments body="The addition of all elements in oclText[self].
Elements must be of an oclText[OclSummable] type to provide the zero() and sum() operations.
The e[sum] operation must be both associative: a.sum(b).sum(c) = a.sum(b.sum(c)), and commutative: a.sum(b) = b.sum(a).
Integer and Real fulfill this condition.

If the e[sum] operation is not both associative and commutative, the e[sum] expression is not well-formed,
which may result in unpredictable results during evaluation.
If an implementation is able to detect a lack of associativity or commutativity,
the implementation may bypass the evaluation and return an oclText[invalid] result.
"/> |
| </ownedOperations> |
| <ownedOperations xmi:id="EesOl" implementationClass="org.eclipse.ocl.pivot.library.collection.CollectionUnionOperation" name="union" |
| type="#ZxUl9"> |
| <ownedComments body="The bag consisting of all elements in oclText[self] and all elements in c.
"/> |
| <ownedParameters xmi:id="CoRBF" name="c" type="#IgEJU"/> |
| </ownedOperations> |
| <ownedProperties xmi:id="WTuwp" implementationClass="org.eclipse.ocl.pivot.library.oclany.OclAnyUnsupportedOperation" isStatic="true" |
| name="elementType" type="#qs59R"> |
| <ownedComments body="Evaluates to the type of the collection elements.

@Deprecated Use regular CollectionType property
"/> |
| </ownedProperties> |
| <ownedProperties xmi:id="BucvH" implementationClass="org.eclipse.ocl.pivot.library.oclany.OclAnyUnsupportedOperation" isStatic="true" |
| name="lower" type="#tYtCd"> |
| <ownedComments body="Evaluates to the lower bound on the number of collection elements.

@Deprecated Use regular CollectionType property
"/> |
| </ownedProperties> |
| <ownedProperties xmi:id="ikPPI" implementationClass="org.eclipse.ocl.pivot.library.oclany.OclAnyUnsupportedOperation" isStatic="true" |
| name="upper" type="#tYtCd"> |
| <ownedComments body="Evaluates to the upper bound on the number of collection elements.

@Deprecated Use regular CollectionType property
"/> |
| </ownedProperties> |
| <ownedSignature> |
| <ownedParameters xmi:id="qs59R" name="T"/> |
| </ownedSignature> |
| </ownedClasses> |
| <ownedClasses xmi:id="nwL7b" name="CollectionType" superClasses="#zfDWR"> |
| <ownedAnnotations xsi:type="pivot:Annotation" name="http://www.omg.org/ocl"> |
| <ownedDetails name="ClassGroup"> |
| <values>UML</values> |
| </ownedDetails> |
| </ownedAnnotations> |
| <ownedProperties xmi:id="5RgO0" implementationClass="org.eclipse.ocl.pivot.library.collection.CollectionElementTypeProperty" name="elementType" |
| opposite="#PjpFg" type="#pBMRF"> |
| <ownedComments body="Evaluates to the type of the collection elements.
"/> |
| </ownedProperties> |
| <ownedProperties xmi:id="ksONS" implementationClass="org.eclipse.ocl.pivot.library.collection.CollectionLowerProperty" name="lower" |
| type="#tYtCd"> |
| <ownedComments body="Evaluates to the lower bound on the number of collection elements.
"/> |
| </ownedProperties> |
| <ownedProperties xmi:id="FjBtS" implementationClass="org.eclipse.ocl.pivot.library.collection.CollectionUpperProperty" name="upper" |
| type="#tYtCd"> |
| <ownedComments body="Evaluates to the upper bound on the number of collection elements.
"/> |
| </ownedProperties> |
| </ownedClasses> |
| <ownedClasses xmi:id="28WYD" name="Enumeration" superClasses="#hlrMH"> |
| <ownedAnnotations xsi:type="pivot:Annotation" name="http://www.omg.org/ocl"> |
| <ownedDetails name="ClassGroup"> |
| <values>UML</values> |
| </ownedDetails> |
| </ownedAnnotations> |
| <ownedComments body="@Deprecated: Use OclEnumeration
The Enumeration type is the type of an OrderedSet of EnumerationLiteral.
"/> |
| <ownedOperations xmi:id="wJUrA" implementationClass="org.eclipse.ocl.pivot.library.classifier.ClassifierAllInstancesOperation" name="allInstances" |
| type="#UQF4+"> |
| <ownedComments body="Return a set of all enumeration values of oclText[self]."/> |
| </ownedOperations> |
| </ownedClasses> |
| <ownedClasses xmi:id="Xml8E" name="EnumerationLiteral" superClasses="#jbMkR"> |
| <ownedAnnotations xsi:type="pivot:Annotation" name="http://www.omg.org/ocl"> |
| <ownedDetails name="ClassGroup"> |
| <values>UML</values> |
| </ownedDetails> |
| </ownedAnnotations> |
| <ownedComments body="The standard type EnumerationLiteral represents a named constant value of an Enumeration.
"/> |
| </ownedClasses> |
| <ownedClasses xsi:type="pivot:PrimitiveType" xmi:id="tYtCd" coercions="#RRcEo" instanceClassName="org.eclipse.ocl.pivot.values.IntegerValue" |
| name="Integer" superClasses="#Nr4QF"> |
| <ownedAnnotations xsi:type="pivot:Annotation" name="http://www.omg.org/ocl"> |
| <ownedDetails name="ClassGroup"> |
| <values>Primitive</values> |
| </ownedDetails> |
| </ownedAnnotations> |
| <ownedComments body="The standard type Integer represents the mathematical concept of integer.
Integer is itself an instance of the metatype PrimitiveType (from UML).
"/> |
| <ownedOperations xmi:id="hA+ir" implementationClass="org.eclipse.ocl.pivot.library.numeric.NumericTimesOperation" name="*" precedence="#0NX0o" |
| type="#tYtCd"> |
| <ownedComments body="The value of the multiplication of oclText[self] and i.
"/> |
| <ownedParameters xmi:id="xQEd2" name="i" type="#zlfMH"/> |
| </ownedOperations> |
| <ownedOperations xmi:id="iA+ir" implementationClass="org.eclipse.ocl.pivot.library.numeric.NumericPlusOperation" name="+" precedence="#qLHeo" |
| type="#tYtCd"> |
| <ownedComments body="The value of the addition of oclText[self] and i.
"/> |
| <ownedParameters xmi:id="ugEd2" name="i" type="#zlfMH"/> |
| </ownedOperations> |
| <ownedOperations xmi:id="b,,VW" implementationClass="org.eclipse.ocl.pivot.library.numeric.NumericNegateOperation" name="-" precedence="#tgQwH" |
| type="#tYtCd"> |
| <ownedComments body="The negative value of oclText[self].
"/> |
| </ownedOperations> |
| <ownedOperations xmi:id="kA+ir" implementationClass="org.eclipse.ocl.pivot.library.numeric.NumericMinusOperation" name="-" precedence="#qLHeo" |
| type="#tYtCd"> |
| <ownedComments body="The value of the subtraction of i from oclText[self].
"/> |
| <ownedParameters xmi:id="oAFd2" name="i" type="#zlfMH"/> |
| </ownedOperations> |
| <ownedOperations xmi:id="mA+ir" implementationClass="org.eclipse.ocl.pivot.library.numeric.NumericDivideOperation" isInvalidating="true" |
| name="/" precedence="#0NX0o" type="#Nr4QF"> |
| <ownedComments body="The value of oclText[self] divided by i.
Evaluates to oclText[invalid] if r is equal to zero.
"/> |
| <ownedParameters xmi:id="igFd2" name="i" type="#zlfMH"/> |
| </ownedOperations> |
| <ownedOperations xmi:id="ggXWW" implementationClass="org.eclipse.ocl.pivot.library.numeric.NumericAbsOperation" name="abs" type="#tYtCd"> |
| <ownedComments body="The absolute value of oclText[self].
"/> |
| </ownedOperations> |
| <ownedOperations xmi:id="WTP3A" implementationClass="org.eclipse.ocl.pivot.library.numeric.NumericDivOperation" name="div" type="#tYtCd"> |
| <ownedComments body="The number of times that i fits completely within oclText[self].
"/> |
| <ownedParameters xmi:id="So906" name="i" type="#tYtCd"/> |
| </ownedOperations> |
| <ownedOperations xmi:id="bVYjr" implementationClass="org.eclipse.ocl.pivot.library.numeric.NumericMaxOperation" name="max" type="#tYtCd"> |
| <ownedComments body="The maximum of oclText[self] an i.
"/> |
| <ownedParameters xmi:id="DyDB9" name="i" type="#zlfMH"/> |
| </ownedOperations> |
| <ownedOperations xmi:id="JZYjr" implementationClass="org.eclipse.ocl.pivot.library.numeric.NumericMinOperation" name="min" type="#tYtCd"> |
| <ownedComments body="The minimum of oclText[self] an i.
"/> |
| <ownedParameters xmi:id="5G,B9" name="i" type="#zlfMH"/> |
| </ownedOperations> |
| <ownedOperations xmi:id="HdR3A" implementationClass="org.eclipse.ocl.pivot.library.numeric.NumericModOperation" name="mod" type="#tYtCd"> |
| <ownedComments body="The result is oclText[self] modulo i.
"/> |
| <ownedParameters xmi:id=",aTX7" name="i" type="#tYtCd"/> |
| </ownedOperations> |
| <ownedOperations xmi:id="aIlbs" implementationClass="org.eclipse.ocl.pivot.library.oclany.OclAnyToStringOperation" name="toString" |
| type="#AlwVZ"> |
| <ownedComments body="Converts oclText[self] to a string value.
"/> |
| </ownedOperations> |
| <ownedOperations xmi:id="RRcEo" implementationClass="org.eclipse.ocl.pivot.library.numeric.IntegerToUnlimitedNaturalOperation" name="toUnlimitedNatural" |
| type="#3kMFL"> |
| <ownedComments body="Converts a non-negative oclText[self] to an UnlimitedNatural value. A negative oclText[self] is converted to oclText[invalid].
An automatic coersion may be synthesized if the coercion enables an operation reference to be resolved
in an expression where no operation was available without coercion.
"/> |
| </ownedOperations> |
| </ownedClasses> |
| <ownedClasses xmi:id="Abotv" name="InvalidType" superClasses="#zfDWR"> |
| <ownedOperations xmi:id="SPCDQ" implementationClass="org.eclipse.ocl.pivot.library.classifier.ClassifierAllInstancesOperation" name="allInstances" |
| type="#UQF4+"> |
| <ownedComments body="Returns oclText[invalid]."/> |
| </ownedOperations> |
| </ownedClasses> |
| <ownedClasses xsi:type="pivot:MapType" xmi:id="LpeHF" instanceClassName="java.util.Map" name="Map" superClasses="#jbMkR"> |
| <ownedAnnotations xsi:type="pivot:Annotation" name="http://www.omg.org/ocl"> |
| <ownedDetails name="ClassGroup"> |
| <values>Collection</values> |
| </ownedDetails> |
| </ownedAnnotations> |
| <ownedComments body="A Map provides a Set of key values, each of which has an associated value.
Keys and values may be null, but neither may be invalid."/> |
| <ownedOperations xmi:id="fMyo," implementationClass="org.eclipse.ocl.pivot.library.oclany.OclAnyNotEqualOperation" name="<>" |
| precedence="#YwCPU" type="#XEMMs"> |
| <ownedComments body="Evaluates to oclText[true] unless oclText[self] and s contain the same elements.
"/> |
| <ownedParameters xmi:id="hejT0" isRequired="false" name="object2" type="#zlfMH"/> |
| </ownedOperations> |
| <ownedOperations xmi:id="avxo," implementationClass="org.eclipse.ocl.pivot.library.oclany.OclAnyEqualOperation" name="=" precedence="#YwCPU" |
| type="#XEMMs"> |
| <ownedComments body="Evaluates to oclText[true] if oclText[self] and s contain the same elements.
"/> |
| <ownedParameters xmi:id="wlTM0" isRequired="false" name="object2" type="#zlfMH"/> |
| </ownedOperations> |
| <ownedOperations xsi:type="pivot:Iteration" xmi:id="hWLcq" implementationClass="org.eclipse.ocl.pivot.library.iterator.AnyIteration" |
| isRequired="false" name="any" type="#8dAuH"> |
| <ownedComments body="Returns the key of any element in the e[source] map for which e[body] evaluates to oclText[true].
Returns oclText[invalid] if the e[body] evaluates to oclText[invalid] for any key,
otherwise if there are one or more kets for which the e[body] is oclText[true],
an indeterminate choice of one of them is returned, otherwise the null is oclText[invalid].

let source : Map(K,V) = ..., body : Lambda K(V) : Boolean = ... in
source->any(key <- value | body) = source->select(key | let value = source->at(key) in body)->asSequence()->first()
"/> |
| <ownedIterators xmi:id="oKzcq" name="k" type="#8dAuH"/> |
| <ownedParameters xmi:id="qzfSN" name="body" type="#7A0zM"/> |
| </ownedOperations> |
| <ownedOperations xmi:id="of0bq" implementationClass="org.eclipse.ocl.pivot.library.map.MapAtOperation" isInvalidating="true" isRequired="false" |
| name="at" type="#HeAuH"> |
| <ownedComments body="The value of the map at oclText[key].
"/> |
| <ownedParameters xmi:id="SbsaH" isRequired="false" name="key" type="#8dAuH"/> |
| </ownedOperations> |
| <ownedOperations xsi:type="pivot:Iteration" xmi:id="fzpBj" implementationClass="org.eclipse.ocl.pivot.library.iterator.CollectIteration" |
| name="collect" type="#Txm0H"> |
| <ownedComments body="The Map of key and values that results from applying body to every value of the source map.
The result is flattened.
"/> |
| <ownedIterators xmi:id="uTnTY" isRequired="false" name="k" type="#8dAuH"/> |
| <ownedParameters xmi:id="VlFz4" isRequired="false" name="lambda" type="#xFQAt"/> |
| <ownedSignature> |
| <ownedParameters xmi:id="BkHat" name="V2"/> |
| </ownedSignature> |
| </ownedOperations> |
| <ownedOperations xsi:type="pivot:Iteration" xmi:id="WLwsa" implementationClass="org.eclipse.ocl.pivot.library.iterator.CollectByIteration" |
| name="collectBy" type="#Li7MS"> |
| <ownedComments body="The Map from each element oclText[i] of the source collection, the key, to the set of values to and values that results from applying body to every value of the source map.
The result is not flattened.
"/> |
| <ownedIterators xmi:id="J8R4i" isRequired="false" name="k" type="#8dAuH"/> |
| <ownedParameters xmi:id="wNwXD" isRequired="false" name="lambda" type="#yptMt"/> |
| <ownedSignature> |
| <ownedParameters xmi:id="waOWY" name="V2"/> |
| </ownedSignature> |
| </ownedOperations> |
| <ownedOperations xsi:type="pivot:Iteration" xmi:id="2Ju3K" implementationClass="org.eclipse.ocl.pivot.library.iterator.CollectNestedIteration" |
| name="collectNested" type="#rNtaG"> |
| <ownedComments body="The Map of key and values which results from applying body to every value of the source map.
"/> |
| <ownedIterators xmi:id="pAA3B" isRequired="false" name="k" type="#8dAuH"/> |
| <ownedParameters xmi:id="QSeWi" isRequired="false" name="lambda" type="#S,+0s"/> |
| <ownedSignature> |
| <ownedParameters xmi:id="QNM7m" name="V2"/> |
| </ownedSignature> |
| </ownedOperations> |
| <ownedOperations xmi:id="OmhSh" implementationClass="org.eclipse.ocl.pivot.library.map.MapExcludesOperation" name="excludes" type="#XEMMs"> |
| <ownedComments body="True if oclText[key] is not one of the keys of oclText[self], oclText[false] otherwise.
"/> |
| <ownedParameters xmi:id="gnOIO" isRequired="false" name="key" type="#8dAuH"/> |
| </ownedOperations> |
| <ownedOperations xmi:id="SshSh" implementationClass="org.eclipse.ocl.pivot.library.map.MapExcludesPairOperation" name="excludes" |
| type="#XEMMs"> |
| <ownedComments body="True if oclText[key] and oclText[value] are not a key-value pair of oclText[self], oclText[false] otherwise.
"/> |
| <ownedParameters xmi:id="UVvJO" isRequired="false" name="key" type="#8dAuH"/> |
| <ownedParameters xmi:id="mhe0U" isRequired="false" name="value" type="#HeAuH"/> |
| </ownedOperations> |
| <ownedOperations xmi:id="hW+,U" implementationClass="org.eclipse.ocl.pivot.library.map.MapExcludesAllOperation" name="excludesAll" |
| type="#XEMMs"> |
| <ownedComments body="True if none of the elements of oclText[coll] are keys of oclText[self], oclText[false] otherwise.
"/> |
| <ownedParameters xmi:id="0IOXK" name="coll" type="#jNn4z"/> |
| <ownedSignature> |
| <ownedParameters xmi:id="+Zdec" name="K2"/> |
| </ownedSignature> |
| </ownedOperations> |
| <ownedOperations xmi:id="JciU2" implementationClass="org.eclipse.ocl.pivot.library.map.MapExcludesMapOperation" name="excludesMap" |
| type="#XEMMs"> |
| <ownedComments body="True if none of the key-value pairs of oclText[map] are also key-value pairs of oclText[self], oclText[false] otherwise.
"/> |
| <ownedParameters xmi:id="sRrPv" name="map" type="#Si8ek"/> |
| <ownedSignature> |
| <ownedParameters xmi:id="mMGvo" name="K2"/> |
| <ownedParameters xmi:id="7RGvo" name="V2"/> |
| </ownedSignature> |
| </ownedOperations> |
| <ownedOperations xmi:id="u87CC" implementationClass="org.eclipse.ocl.pivot.library.map.MapExcludesValueOperation" name="excludesValue" |
| type="#XEMMs"> |
| <ownedComments body="True if oclText[value] is not one of the values of oclText[self], oclText[false] otherwise.
"/> |
| <ownedParameters xmi:id="SwWH5" isRequired="false" name="value" type="#HeAuH"/> |
| </ownedOperations> |
| <ownedOperations xmi:id="MfC8O" implementationClass="org.eclipse.ocl.pivot.library.map.MapExcludingOperation" name="excluding" type="#LpeHF"> |
| <ownedComments body="The map containing all key-value pairs of oclText[self] except any whose key is oclText[key].
"/> |
| <ownedParameters xmi:id="mc7Zd" isRequired="false" name="key" type="#8dAuH"/> |
| </ownedOperations> |
| <ownedOperations xmi:id="QlC8O" implementationClass="org.eclipse.ocl.pivot.library.map.MapExcludingPairOperation" name="excluding" |
| type="#LpeHF"> |
| <ownedComments body="The map containing all key-value pairs of oclText[self] except any whose key is oclText[key] and whose value is oclText[key].
"/> |
| <ownedParameters xmi:id="aKcbd" isRequired="false" name="key" type="#8dAuH"/> |
| <ownedParameters xmi:id="sWLGk" isRequired="false" name="value" type="#HeAuH"/> |
| </ownedOperations> |
| <ownedOperations xmi:id="tiW,D" implementationClass="org.eclipse.ocl.pivot.library.map.MapExcludingAllOperation" name="excludingAll" |
| type="#LpeHF"> |
| <ownedComments body="The map containing all key-value pairs of oclText[self] except any whose key is included in oclText[keys].
"/> |
| <ownedParameters xmi:id="YgAdz" name="keys" type="#xuXg8"/> |
| </ownedOperations> |
| <ownedOperations xmi:id="LgYZl" implementationClass="org.eclipse.ocl.pivot.library.map.MapExcludingMapOperation" name="excludingMap" |
| type="#LpeHF"> |
| <ownedComments body="The map containing all key-value pairs of oclText[self] except any which is also included in oclText[map].
"/> |
| <ownedParameters xmi:id="mlJiv" name="map" type="#aWy45"/> |
| <ownedSignature> |
| <ownedParameters xmi:id="4wpcP" name="K2"/> |
| <ownedParameters xmi:id="N2pcP" name="V2"/> |
| </ownedSignature> |
| </ownedOperations> |
| <ownedOperations xsi:type="pivot:Iteration" xmi:id="RATld" implementationClass="org.eclipse.ocl.pivot.library.iterator.ExistsIteration" |
| isInvalidating="true" isRequired="false" isValidating="true" name="exists" type="#XEMMs"> |
| <ownedComments body="Results in oclText[true] if body evaluates to oclText[true] for at least one key oclText[k] in the source map.
"/> |
| <ownedIterators xmi:id="YN47i" isRequired="false" name="k" type="#8dAuH"/> |
| <ownedParameters xmi:id=",eWbD" isRequired="false" name="lambda" type="#7A0zM"/> |
| </ownedOperations> |
| <ownedOperations xsi:type="pivot:Iteration" xmi:id="TDTld" implementationClass="org.eclipse.ocl.pivot.library.iterator.ExistsIteration" |
| isInvalidating="true" isRequired="false" isValidating="true" name="exists" type="#XEMMs"> |
| <ownedComments body="Results in oclText[true] if body evaluates to oclText[true] for at least one permutation of keys oclText[k1], oclText[k2] in the source map.
"/> |
| <ownedIterators xmi:id="NXp8i" isRequired="false" name="k1" type="#8dAuH"/> |
| <ownedIterators xmi:id="OXp8i" isRequired="false" name="k2" type="#8dAuH"/> |
| <ownedParameters xmi:id="51GcD" isRequired="false" name="lambda" type="#7A0zM"/> |
| </ownedOperations> |
| <ownedOperations xsi:type="pivot:Iteration" xmi:id="2HTld" implementationClass="org.eclipse.ocl.pivot.library.iterator.ExistsIteration" |
| isInvalidating="true" isRequired="false" isValidating="true" name="exists" type="#XEMMs"> |
| <ownedComments body="Results in oclText[true] if body evaluates to oclText[true] for at least one permutation of keys oclText[k1], oclText[k2], oclText[k3] in the source map.
"/> |
| <ownedIterators xmi:id="k5x9i" isRequired="false" name="k1" type="#8dAuH"/> |
| <ownedIterators xmi:id="l5x9i" isRequired="false" name="k2" type="#8dAuH"/> |
| <ownedIterators xmi:id="m5x9i" isRequired="false" name="k3" type="#8dAuH"/> |
| <ownedParameters xmi:id="QYPdD" isRequired="false" name="lambda" type="#7A0zM"/> |
| </ownedOperations> |
| <ownedOperations xsi:type="pivot:Iteration" xmi:id="N,oze" implementationClass="org.eclipse.ocl.pivot.library.iterator.ForAllIteration" |
| isInvalidating="true" isRequired="false" isValidating="true" name="forAll" type="#XEMMs"> |
| <ownedComments body="Results in oclText[true] if the body expression evaluates to oclText[true] for each key oclText[k] in the source map; otherwise, result is oclText[false].
"/> |
| <ownedIterators xmi:id="kQlwE" isRequired="false" name="k" type="#8dAuH"/> |
| <ownedParameters xmi:id="LiDQl" isRequired="false" name="lambda" type="#7A0zM"/> |
| </ownedOperations> |
| <ownedOperations xsi:type="pivot:Iteration" xmi:id="PCpze" implementationClass="org.eclipse.ocl.pivot.library.iterator.ForAllIteration" |
| isInvalidating="true" isRequired="false" isValidating="true" name="forAll" type="#XEMMs"> |
| <ownedComments body="Results in oclText[true] if the body expression evaluates to oclText[true] for each permutation of keys oclText[k1], oclText[k2] in the source map; otherwise, result is oclText[false].
"/> |
| <ownedIterators xmi:id="ZaWxE" isRequired="false" name="k1" type="#8dAuH"/> |
| <ownedIterators xmi:id="aaWxE" isRequired="false" name="k2" type="#8dAuH"/> |
| <ownedParameters xmi:id="F5zQl" isRequired="false" name="lambda" type="#7A0zM"/> |
| </ownedOperations> |
| <ownedOperations xsi:type="pivot:Iteration" xmi:id="yGpze" implementationClass="org.eclipse.ocl.pivot.library.iterator.ForAllIteration" |
| isInvalidating="true" isRequired="false" isValidating="true" name="forAll" type="#XEMMs"> |
| <ownedComments body="Results in oclText[true] if the body expression evaluates to oclText[true] for each permutation of keys oclText[k1], oclText[k2], oclText[k3] in the source map; otherwise, result is oclText[false].
"/> |
| <ownedIterators xmi:id="w8eyE" isRequired="false" name="k1" type="#8dAuH"/> |
| <ownedIterators xmi:id="x8eyE" isRequired="false" name="k2" type="#8dAuH"/> |
| <ownedIterators xmi:id="y8eyE" isRequired="false" name="k3" type="#8dAuH"/> |
| <ownedParameters xmi:id="cb8Rl" isRequired="false" name="lambda" type="#7A0zM"/> |
| </ownedOperations> |
| <ownedOperations xmi:id="AyH0v" implementationClass="org.eclipse.ocl.pivot.library.map.MapIncludesOperation" name="includes" type="#XEMMs"> |
| <ownedComments body="True if oclText[key] is one of the keys of oclText[self], oclText[false] otherwise.
"/> |
| <ownedParameters xmi:id="KkYG8" isRequired="false" name="key" type="#8dAuH"/> |
| </ownedOperations> |
| <ownedOperations xmi:id="E4H0v" implementationClass="org.eclipse.ocl.pivot.library.map.MapIncludesPairOperation" name="includes" |
| type="#XEMMs"> |
| <ownedComments body="True if oclText[key] and oclText[value] are a key-value pair of oclText[self], oclText[false] otherwise.
"/> |
| <ownedParameters xmi:id="+R5H8" isRequired="false" name="key" type="#8dAuH"/> |
| <ownedParameters xmi:id="QeoyC" isRequired="false" name="value" type="#HeAuH"/> |
| </ownedOperations> |
| <ownedOperations xmi:id="vVEtd" implementationClass="org.eclipse.ocl.pivot.library.map.MapIncludesAllOperation" name="includesAll" |
| type="#XEMMs"> |
| <ownedComments body="True if all the elements of oclText[coll] are keys of oclText[self], oclText[false] otherwise.
"/> |
| <ownedParameters xmi:id="KrvvB" name="coll" type="#xb2wa"/> |
| <ownedSignature> |
| <ownedParameters xmi:id="8Set+" name="K2"/> |
| </ownedSignature> |
| </ownedOperations> |
| <ownedOperations xmi:id="XboB," implementationClass="org.eclipse.ocl.pivot.library.map.MapIncludesMapOperation" name="includesMap" |
| type="#XEMMs"> |
| <ownedComments body="True if all of the key-value pairs of oclText[map] are also key-value pairs of oclText[self], oclText[false] otherwise.
"/> |
| <ownedParameters xmi:id="C0Mom" name="map" type="#Kb5,,"/> |
| <ownedSignature> |
| <ownedParameters xmi:id="kFH+K" name="K2"/> |
| <ownedParameters xmi:id="5KH+K" name="V2"/> |
| </ownedSignature> |
| </ownedOperations> |
| <ownedOperations xmi:id="8N2Jv" implementationClass="org.eclipse.ocl.pivot.library.map.MapIncludesValueOperation" name="includesValue" |
| type="#XEMMs"> |
| <ownedComments body="True if oclText[value] is one of the values of oclText[self], oclText[false] otherwise.
"/> |
| <ownedParameters xmi:id="oc7Wg" isRequired="false" name="value" type="#HeAuH"/> |
| </ownedOperations> |
| <ownedOperations xmi:id="eSiNR" implementationClass="org.eclipse.ocl.pivot.library.map.MapIncludingPairOperation" name="including" |
| type="#LpeHF"> |
| <ownedComments body="The map containing all of the key-value pairs of oclText[self] and an additional key-value pair for oclText[key] and oclText[value].
If oclText[key] is already a key of oclText[self], the old value pair is replaced by oclText[value]."/> |
| <ownedParameters xmi:id="wiQiu" isRequired="false" name="key" type="#8dAuH"/> |
| <ownedParameters xmi:id="Cv,M1" isRequired="false" name="value" type="#HeAuH"/> |
| </ownedOperations> |
| <ownedOperations xmi:id="9HSPz" implementationClass="org.eclipse.ocl.pivot.library.map.MapIncludingMapOperation" name="includingMap" |
| type="#LpeHF"> |
| <ownedComments body="The map containing all of the key-value pairs of oclText[self] and oclText[map].
The values associated with key-value pairs in oclText[map] replace those in oclText[self] where the same key is used by both maps.
"/> |
| <ownedParameters xmi:id="QOZak" name="map" type="#i5R2O"/> |
| <ownedSignature> |
| <ownedParameters xmi:id="6WFu0" name="K2"/> |
| <ownedParameters xmi:id="PcFu0" name="V2"/> |
| </ownedSignature> |
| </ownedOperations> |
| <ownedOperations xmi:id="X2mGl" implementationClass="org.eclipse.ocl.pivot.library.map.MapIsEmptyOperation" name="isEmpty" type="#XEMMs"> |
| <ownedComments body="True if oclText[self] is the empty map, oclText[false] otherwise.
"/> |
| </ownedOperations> |
| <ownedOperations xsi:type="pivot:Iteration" xmi:id="Qlrgg" implementationClass="org.eclipse.ocl.pivot.library.iterator.IsUniqueIteration" |
| name="isUnique" type="#XEMMs"> |
| <ownedComments body="Results in oclText[true] if body evaluates to a different value for each key oclText[k] in the source map; otherwise, result is oclText[false].
"/> |
| <ownedIterators xmi:id="ZO+SQ" isRequired="false" name="i" type="#8dAuH"/> |
| <ownedParameters xmi:id="Cgcyw" isRequired="false" name="lambda" type="#voQcV"/> |
| </ownedOperations> |
| <ownedOperations xsi:type="pivot:Iteration" xmi:id="xTElo" implementationClass="org.eclipse.ocl.pivot.library.iterator.IterateIteration" |
| isRequired="false" name="iterate" type="#06U6Y"> |
| <ownedAccumulators xmi:id="o1oTE" isRequired="false" name="acc" type="#06U6Y"/> |
| <ownedComments body="Results in the final value of the accumulator oclText[acc] whose value is updated by evaluation of oclText[lambda] for each element oclText[i] in the source map.
"/> |
| <ownedIterators xmi:id="2ScR+" isRequired="false" name="i" type="#8dAuH"/> |
| <ownedParameters xmi:id="fk6we" isRequired="false" name="lambda" type="#uOvwZ"/> |
| <ownedSignature> |
| <ownedParameters xmi:id="06U6Y" name="Tacc"/> |
| </ownedSignature> |
| </ownedOperations> |
| <ownedOperations xmi:id="IlWoq" implementationClass="org.eclipse.ocl.pivot.library.map.MapKeysOperation" name="keys" type="#1Uzet"> |
| <ownedComments body="A Set comprising all the keys of the key-value pairs in oclText[self].
"/> |
| </ownedOperations> |
| <ownedOperations xmi:id="OGf9G" implementationClass="org.eclipse.ocl.pivot.library.map.MapNotEmptyOperation" name="notEmpty" type="#XEMMs"> |
| <ownedComments body="True if oclText[self] not the empty map, oclText[false] otherwise.
"/> |
| </ownedOperations> |
| <ownedOperations xsi:type="pivot:Iteration" xmi:id="boOcq" implementationClass="org.eclipse.ocl.pivot.library.iterator.OneIteration" |
| name="one" type="#XEMMs"> |
| <ownedComments body="Results in oclText[true] if there is exactly one element in the source map for which body is oclText[true].
"/> |
| <ownedIterators xmi:id="40HRr" isRequired="false" name="i" type="#8dAuH"/> |
| <ownedParameters xmi:id="hGmwL" name="lambda" type="#7A0zM"/> |
| </ownedOperations> |
| <ownedOperations xsi:type="pivot:Iteration" xmi:id="U9Kuy" implementationClass="org.eclipse.ocl.pivot.library.iterator.MapRejectIteration" |
| name="reject" type="#LpeHF"> |
| <ownedComments body="The subset of the source set for which body is oclText[false].
"/> |
| <ownedIterators xmi:id="NGhgx" isRequired="false" name="i" type="#8dAuH"/> |
| <ownedParameters xmi:id="2X,,R" name="lambda" type="#7A0zM"/> |
| </ownedOperations> |
| <ownedOperations xsi:type="pivot:Iteration" xmi:id="xCnb0" implementationClass="org.eclipse.ocl.pivot.library.iterator.MapSelectIteration" |
| name="select" type="#LpeHF"> |
| <ownedComments body="The subset of set for which expr is oclText[true].
"/> |
| <ownedIterators xmi:id="2FkZD" isRequired="false" name="i" type="#8dAuH"/> |
| <ownedParameters xmi:id="fXC5j" name="lambda" type="#7A0zM"/> |
| </ownedOperations> |
| <ownedOperations xmi:id="VtRpq" implementationClass="org.eclipse.ocl.pivot.library.map.MapSizeOperation" name="size" type="#tYtCd"> |
| <ownedComments body="The number of key-value pairs in oclText[self].
"/> |
| </ownedOperations> |
| <ownedOperations xmi:id="2hNV5" implementationClass="org.eclipse.ocl.pivot.library.map.MapValuesOperation" name="values" type="#uivet"> |
| <ownedComments body="The Bag comprising all the values of the key-value pairs in oclText[self].
"/> |
| </ownedOperations> |
| <ownedProperties xmi:id="w,Rmk" implementationClass="org.eclipse.ocl.pivot.library.oclany.OclAnyUnsupportedOperation" isStatic="true" |
| name="keyType" type="#8dAuH"> |
| <ownedComments body="The key type of the key-value pairs of oclText[self].

@Deprecated Use regular MapType property
"/> |
| </ownedProperties> |
| <ownedProperties xmi:id="CoDkn" implementationClass="org.eclipse.ocl.pivot.library.oclany.OclAnyUnsupportedOperation" isStatic="true" |
| name="valueType" type="#HeAuH"> |
| <ownedComments body="The value type of the key-value pairs of oclText[self].

@Deprecated Use regular MapType property
"/> |
| </ownedProperties> |
| <ownedSignature> |
| <ownedParameters xmi:id="8dAuH" name="K"/> |
| <ownedParameters xmi:id="HeAuH" name="V"/> |
| </ownedSignature> |
| </ownedClasses> |
| <ownedClasses xmi:id="l+ONa" name="MapType" superClasses="#zfDWR"> |
| <ownedAnnotations xsi:type="pivot:Annotation" name="http://www.omg.org/ocl"> |
| <ownedDetails name="ClassGroup"> |
| <values>UML</values> |
| </ownedDetails> |
| </ownedAnnotations> |
| <ownedProperties xmi:id="ifXaB" implementationClass="org.eclipse.ocl.pivot.library.map.MapKeyTypeProperty" name="keyType" opposite="#CWW9w" |
| type="#pBMRF"> |
| <ownedComments body="The key type of the key-value pairs of oclText[self].
"/> |
| </ownedProperties> |
| <ownedProperties xmi:id="0HJYE" implementationClass="org.eclipse.ocl.pivot.library.map.MapValueTypeProperty" name="valueType" opposite="#AwxtF" |
| type="#pBMRF"> |
| <ownedComments body="The value type of the key-value pairs of oclText[self].
"/> |
| </ownedProperties> |
| </ownedClasses> |
| <ownedClasses xsi:type="pivot:AnyType" xmi:id="jbMkR" instanceClassName="org.eclipse.ocl.pivot.AnyType" isAbstract="true" name="OclAny"> |
| <ownedAnnotations xsi:type="pivot:Annotation" name="http://www.omg.org/ocl"> |
| <ownedDetails name="ClassGroup"> |
| <values>OCL</values> |
| </ownedDetails> |
| </ownedAnnotations> |
| <ownedComments body="The number of elements in the collection oclText[self].essions.
OclAny is itself an instance of the metatype AnyType.

All classes in a UML model inherit all operations defined on OclAny.
To avoid name conflicts between properties in the model and the properties inherited from OclAny,
all names on the properties of OclAny start with âocl.â
Although theoretically there may still be name conflicts, they can be avoided.
One can also use qualification by OclAny (name of the type) to explicitly refer to the OclAny properties.

Operations of OclAny, where the instance of OclAny is called object.
"/> |
| <ownedOperations xmi:id="X1Ovl" implementationClass="org.eclipse.ocl.pivot.library.oclany.OclAnyNotEqualOperation" name="<>" |
| precedence="#YwCPU" type="#XEMMs"> |
| <ownedComments body="True if oclText[self] is a different object from object2. Infix operator.
"/> |
| <ownedParameters xmi:id="5jbKp" isRequired="false" name="object2" type="#zlfMH"/> |
| <ownedPostconditions xmi:id="MrNhR"> |
| <ownedSpecification xsi:type="pivot:ExpressionInOCL" body="result = not (self = object2)" type="#XEMMs"> |
| <ownedBody xsi:type="pivot:OperationCallExp" name="=" referredOperation="#2dcxV" type="#XEMMs"> |
| <ownedArguments xsi:type="pivot:OperationCallExp" isRequired="false" name="not" referredOperation="#DH5kA" type="#XEMMs"> |
| <ownedSource xsi:type="pivot:OperationCallExp" name="=" referredOperation="#SYOvl" type="#XEMMs"> |
| <ownedArguments xsi:type="pivot:VariableExp" isRequired="false" name="object2" referredVariable="#oqZCH" type="#jbMkR"/> |
| <ownedSource xsi:type="pivot:VariableExp" name="self" referredVariable="#cohTe" type="#jbMkR"/> |
| </ownedSource> |
| </ownedArguments> |
| <ownedSource xsi:type="pivot:VariableExp" name="result" referredVariable="#UlSQT" type="#XEMMs"/> |
| </ownedBody> |
| <ownedContext xsi:type="pivot:ParameterVariable" xmi:id="cohTe" name="self" type="#jbMkR"/> |
| <ownedParameters xsi:type="pivot:ParameterVariable" xmi:id="oqZCH" isRequired="false" name="object2" representedParameter="#5jbKp" |
| type="#jbMkR"/> |
| <ownedResult xsi:type="pivot:ParameterVariable" xmi:id="UlSQT" name="result" type="#XEMMs"/> |
| </ownedSpecification> |
| </ownedPostconditions> |
| </ownedOperations> |
| <ownedOperations xmi:id="SYOvl" implementationClass="org.eclipse.ocl.pivot.library.oclany.OclAnyEqualOperation" name="=" precedence="#YwCPU" |
| type="#XEMMs"> |
| <ownedComments body="True if oclText[self] is the same object as object2. Infix operator.
"/> |
| <ownedParameters xmi:id="IrLDp" isRequired="false" name="object2" type="#zlfMH"/> |
| <ownedPostconditions xmi:id="by9ZR"> |
| <ownedSpecification xsi:type="pivot:ExpressionInOCL" body="result = (self = object2)" type="#XEMMs"> |
| <ownedBody xsi:type="pivot:OperationCallExp" name="=" referredOperation="#2dcxV" type="#XEMMs"> |
| <ownedArguments xsi:type="pivot:OperationCallExp" name="=" referredOperation="#SYOvl" type="#XEMMs"> |
| <ownedArguments xsi:type="pivot:VariableExp" isRequired="false" name="object2" referredVariable="#vLUya" type="#jbMkR"/> |
| <ownedSource xsi:type="pivot:VariableExp" name="self" referredVariable="#jJcDy" type="#jbMkR"/> |
| </ownedArguments> |
| <ownedSource xsi:type="pivot:VariableExp" name="result" referredVariable="#bGNAn" type="#XEMMs"/> |
| </ownedBody> |
| <ownedContext xsi:type="pivot:ParameterVariable" xmi:id="jJcDy" name="self" type="#jbMkR"/> |
| <ownedParameters xsi:type="pivot:ParameterVariable" xmi:id="vLUya" isRequired="false" name="object2" representedParameter="#IrLDp" |
| type="#jbMkR"/> |
| <ownedResult xsi:type="pivot:ParameterVariable" xmi:id="bGNAn" name="result" type="#XEMMs"/> |
| </ownedSpecification> |
| </ownedPostconditions> |
| </ownedOperations> |
| <ownedOperations xmi:id="koUSM" implementationClass="org.eclipse.ocl.pivot.library.oclany.OclAnyOclAsSetOperation" name="oclAsSet" |
| type="#UQF4+"> |
| <ownedComments body="Returns a Set with oclText[self] as the sole content, unless oclText[self] is oclText[null] in which case returns an empty set,"/> |
| </ownedOperations> |
| <ownedOperations xmi:id="xOh0M" implementationClass="org.eclipse.ocl.pivot.library.oclany.OclAnyOclAsTypeOperation" isInvalidating="true" |
| name="oclAsType" type="#HZ,i,"> |
| <ownedComments body="Evaluates to oclText[self], where oclText[self] is of the type identified by oclText[TT].
The type oclText[TT] may be any classifier defined by OCL or a user metamodel;
if the actual type of oclText[self] at evaluation time does not conform to oclText[TT],
then the oclAsType operation evaluates to oclText[invalid].

If oclText[self] is a multiply classified instance, the current classification used for OCL navigation
is changed to the classification to which oclText[TT] conforms. The oclAsType call is not well-formed if
the classification is ambiguous.

In the case of feature redefinition, casting an object to a supertype of its actual type
does not access the supertypeâs definition of the feature;
according to the semantics of redefinition, the redefined feature simply does not exist for the object.
However, when casting to a supertype, any features additionally defined by the subtype are suppressed.

FIXME Bug 578060 return should be optional to support OclVoid returning null."/> |
| <ownedParameters xmi:id="Shnpr" isTypeof="true" name="type" type="#HZ,i,"/> |
| <ownedPostconditions xmi:id="0dG7z" name="IsSelf"> |
| <ownedSpecification xsi:type="pivot:ExpressionInOCL" body="result = self" type="#XEMMs"> |
| <ownedBody xsi:type="pivot:OperationCallExp" name="=" referredOperation="#SYOvl" type="#XEMMs"> |
| <ownedArguments xsi:type="pivot:VariableExp" name="self" referredVariable="#EwkQp" type="#jbMkR"/> |
| <ownedSource xsi:type="pivot:VariableExp" name="result" referredVariable="#8sVNe" type="#HZ,i,"/> |
| </ownedBody> |
| <ownedContext xsi:type="pivot:ParameterVariable" xmi:id="EwkQp" name="self" type="#jbMkR"/> |
| <ownedParameters xsi:type="pivot:ParameterVariable" name="type" representedParameter="#Shnpr" type="#HZ,i,"/> |
| <ownedResult xsi:type="pivot:ParameterVariable" xmi:id="8sVNe" name="result" type="#HZ,i,"/> |
| </ownedSpecification> |
| </ownedPostconditions> |
| <ownedSignature> |
| <ownedParameters xmi:id="HZ,i," name="TT"/> |
| </ownedSignature> |
| </ownedOperations> |
| <ownedOperations xmi:id="OJbtr" implementationClass="org.eclipse.ocl.pivot.library.oclany.OclAnyOclIsInStateOperation" name="oclIsInState" |
| type="#XEMMs"> |
| <ownedComments body="Evaluates to oclText[true] if the oclText[self] is in the state identified by statespec.
"/> |
| <ownedParameters xmi:id="N0Y+g" isRequired="false" name="statespec" type="#IebtF"/> |
| </ownedOperations> |
| <ownedOperations xmi:id="Bz+rT" implementationClass="org.eclipse.ocl.pivot.library.oclany.OclAnyOclIsInvalidOperation" isValidating="true" |
| name="oclIsInvalid" type="#XEMMs"> |
| <ownedComments body="Evaluates to oclText[true] if the oclText[self] is equal to OclInvalid.
"/> |
| </ownedOperations> |
| <ownedOperations xmi:id="MuzAj" implementationClass="org.eclipse.ocl.pivot.library.oclany.OclAnyOclIsKindOfOperation" name="oclIsKindOf" |
| type="#XEMMs"> |
| <ownedComments body="Evaluates to oclText[true] if the type of oclText[self] conforms to oclText[type].
That is, oclText[self] is of type oclText[type] or a subtype of oclText[type].
"/> |
| <ownedParameters xmi:id="Bzmst" name="type" type="#hlrMH"/> |
| </ownedOperations> |
| <ownedOperations xmi:id="qNfuM" implementationClass="org.eclipse.ocl.pivot.library.oclany.OclAnyUnsupportedOperation" name="oclIsNew" |
| type="#XEMMs"> |
| <ownedComments body="Can only be used in a postcondition.
Evaluates to oclText[true] if the oclText[self] is created during performing the operation (for instance, it didnât exist at precondition time).
"/> |
| </ownedOperations> |
| <ownedOperations xmi:id="y2TQz" implementationClass="org.eclipse.ocl.pivot.library.oclany.OclAnyOclIsTypeOfOperation" name="oclIsTypeOf" |
| type="#XEMMs"> |
| <ownedComments body="Evaluates to oclText[true] if oclText[self] is of the type oclText[type] but not a subtype of oclText[type]."/> |
| <ownedParameters xmi:id="P5PA1" name="type" type="#hlrMH"/> |
| </ownedOperations> |
| <ownedOperations xmi:id="aSwFn" implementationClass="org.eclipse.ocl.pivot.library.oclany.OclAnyOclIsUndefinedOperation" isValidating="true" |
| name="oclIsUndefined" type="#XEMMs"> |
| <ownedComments body="Evaluates to oclText[true] if the oclText[self] is equal to oclText[invalid] or equal to oclText[null].
"/> |
| </ownedOperations> |
| <ownedOperations xmi:id="YyEmT" implementationClass="org.eclipse.ocl.pivot.library.oclany.OclAnyOclLogOperation" name="oclLog" type="#zlfMH"> |
| <ownedComments body="Evaluates to the self, with the side effect of generating a log message comprising self.
"/> |
| </ownedOperations> |
| <ownedOperations xmi:id="YxE0K" implementationClass="org.eclipse.ocl.pivot.library.oclany.OclAnyOclLogOperation" name="oclLog" type="#zlfMH"> |
| <ownedComments body="Evaluates to the self, with the side effect of generating a log message comprising message followed by self.
"/> |
| <ownedParameters xmi:id="qstQj" name="message" type="#AlwVZ"/> |
| </ownedOperations> |
| <ownedOperations xmi:id="+nmZv" implementationClass="org.eclipse.ocl.pivot.library.oclany.OclAnyOclTypeOperation" isTypeof="true" |
| name="oclType" type="#zlfMH"> |
| <ownedComments body="Evaluates to the most derived type of which oclText[self] is currently an instance. If oclText[self] is an instance of a multiply
classified type, the return is the most derived type of the current classification which is established when the instance is
passed to OCL, or re-established by an oclText[oclAsType()] call.
"/> |
| </ownedOperations> |
| <ownedOperations xmi:id="N,CWN" implementationClass="org.eclipse.ocl.pivot.library.oclany.OclAnyOclTypesOperation" name="oclTypes" |
| type="#PRF4+"> |
| <ownedComments body="Evaluates to all of the most derived type of which oclText[self] is an instance. The return from oclText[oclTypes()]
is normally equivalent to that from oclText[oclType()] unless oclText[self] is an instance of multiply classified type.
"/> |
| </ownedOperations> |
| <ownedOperations xmi:id="4f1nm" implementationClass="org.eclipse.ocl.pivot.library.oclany.OclAnyToStringOperation" name="toString" |
| type="#AlwVZ"> |
| <ownedComments body="Returns a string representation of oclText[self]."/> |
| </ownedOperations> |
| <ownedProperties xmi:id="c8rKW" isImplicit="true" name="OclInvalid" opposite="#QSjNW" type="#4eSgX"/> |
| </ownedClasses> |
| <ownedClasses xmi:id="BEwMu" isAbstract="true" name="OclComparable" superClasses="#jbMkR"> |
| <ownedAnnotations xsi:type="pivot:Annotation" name="http://www.omg.org/ocl"> |
| <ownedDetails name="ClassGroup"> |
| <values>OCL</values> |
| </ownedDetails> |
| </ownedAnnotations> |
| <ownedComments body="The type OclComparable defines the compareTo operation used by the sortedBy iteration. Only types that provide a derived
compareTo implementation may be sorted.
"/> |
| <ownedOperations xmi:id="3+qvY" implementationClass="org.eclipse.ocl.pivot.library.oclany.OclComparableLessThanOperation" name="<" |
| precedence="#FpitR" type="#XEMMs"> |
| <ownedComments body="True if oclText[self] is less than oclText[that].
"/> |
| <ownedParameters xmi:id="tqHU6" name="that" type="#zlfMH"/> |
| </ownedOperations> |
| <ownedOperations xmi:id="8brvY" implementationClass="org.eclipse.ocl.pivot.library.oclany.OclComparableLessThanEqualOperation" name="<=" |
| precedence="#FpitR" type="#XEMMs"> |
| <ownedComments body="True if oclText[self] is less than or equal to oclText[that].
"/> |
| <ownedParameters xmi:id="ejXb6" name="that" type="#zlfMH"/> |
| </ownedOperations> |
| <ownedOperations xmi:id="5+qvY" implementationClass="org.eclipse.ocl.pivot.library.oclany.OclComparableGreaterThanOperation" name=">" |
| precedence="#FpitR" type="#XEMMs"> |
| <ownedComments body="True if oclText[self] is greater than oclText[that].
"/> |
| <ownedParameters xmi:id="nKIU6" name="that" type="#zlfMH"/> |
| </ownedOperations> |
| <ownedOperations xmi:id="6crvY" implementationClass="org.eclipse.ocl.pivot.library.oclany.OclComparableGreaterThanEqualOperation" |
| name=">=" precedence="#FpitR" type="#XEMMs"> |
| <ownedComments body="True if oclText[self] is greater than or equal to oclText[that].
"/> |
| <ownedParameters xmi:id="kAnb6" name="that" type="#zlfMH"/> |
| </ownedOperations> |
| <ownedOperations xmi:id="7GliE" implementationClass="org.eclipse.ocl.pivot.library.oclany.OclComparableCompareToOperation" name="compareTo" |
| type="#tYtCd"> |
| <ownedComments body="Return -ve, 0, +ve according to whether self is less than, equal to , or greater than that.

The compareTo operation should be commutative."/> |
| <ownedParameters xmi:id="hSadl" name="that" type="#zlfMH"/> |
| </ownedOperations> |
| </ownedClasses> |
| <ownedClasses xmi:id="zfDWR" isAbstract="true" name="OclElement" superClasses="#jbMkR"> |
| <ownedAnnotations xsi:type="pivot:Annotation" name="http://www.omg.org/ocl"> |
| <ownedDetails name="ClassGroup"> |
| <values>OCL</values> |
| </ownedDetails> |
| </ownedAnnotations> |
| <ownedComments body="The type OclElement is the implicit supertype of any user-defined type that has no explicit supertypes. Operations defined
for OclElement are therefore applicable to all user-defined types.
"/> |
| <ownedOperations xmi:id="Qz0bc" implementationClass="org.eclipse.ocl.pivot.library.oclany.OclAnyUnsupportedOperation" name="allInstances" |
| type="#UQF4+"> |
| <ownedComments body="Return a set of all instances of the type and derived types of self.

@Deprecated - retained with broken signature for referential API compatibility."/> |
| <ownedParameters xmi:id="j5LN3" name="dummy" type="#tYtCd"/> |
| </ownedOperations> |
| <ownedOperations xmi:id="2xDak" implementationClass="org.eclipse.ocl.pivot.library.oclany.OclElementOclAsModelTypeOperation" isInvalidating="true" |
| name="oclAsModelType" type="#00OUM"> |
| <ownedComments body="Evaluates to oclText[self], where oclText[self] is of the model type identified by oclText[TT].

Most model elements have metamodel types for use with oclAsType, but no model type and so the return is oclText[invalid].

Model elements such as UML's InstnaceSpecification that do support distinct model and metamodel types return oclText[self]
with the cast type oclText[TT] that may be used for further navigation.
If the actual model type of oclText[self] at evaluation time does not conform to oclText[TT],
then the oclAsType operation evaluates to oclText[invalid].

If oclText[self] is a multiply classified instance, the current classification used for OCL navigation
is changed to the classification to which oclText[TT] conforms. The oclAsModelType call is not well-formed if
the classification is ambiguous."/> |
| <ownedParameters xmi:id="DIxh9" isTypeof="true" name="type" type="#00OUM"/> |
| <ownedPostconditions xmi:id="lEQzF" name="IsSelf"> |
| <ownedSpecification xsi:type="pivot:ExpressionInOCL" body="result = self" type="#XEMMs"> |
| <ownedBody xsi:type="pivot:OperationCallExp" name="=" referredOperation="#SYOvl" type="#XEMMs"> |
| <ownedArguments xsi:type="pivot:VariableExp" name="self" referredVariable="#9sxzW" type="#zfDWR"/> |
| <ownedSource xsi:type="pivot:VariableExp" name="result" referredVariable="#1piwL" type="#00OUM"/> |
| </ownedBody> |
| <ownedContext xsi:type="pivot:ParameterVariable" xmi:id="9sxzW" name="self" type="#zfDWR"/> |
| <ownedParameters xsi:type="pivot:ParameterVariable" name="type" representedParameter="#DIxh9" type="#00OUM"/> |
| <ownedResult xsi:type="pivot:ParameterVariable" xmi:id="1piwL" name="result" type="#00OUM"/> |
| </ownedSpecification> |
| </ownedPostconditions> |
| <ownedSignature> |
| <ownedParameters xmi:id="00OUM" name="TT"/> |
| </ownedSignature> |
| </ownedOperations> |
| <ownedOperations xmi:id="l58yN" implementationClass="org.eclipse.ocl.pivot.library.oclany.OclElementOclBaseOperation" isRequired="false" |
| name="oclBase" type="#hlrMH"> |
| <ownedComments body="Returns the application class that is extended by this extension element. Returns null for an orphan extension of nothing."/> |
| </ownedOperations> |
| <ownedOperations xmi:id="YjePj" implementationClass="org.eclipse.ocl.pivot.library.oclany.OclElementOclBaseOperation" isRequired="false" |
| name="oclBase" type="#hlrMH"> |
| <ownedComments body="Returns the application class conforming to base extended by this extension element. Returns null if no such class."/> |
| <ownedParameters xmi:id="0xwrX" name="base" type="#hlrMH"/> |
| </ownedOperations> |
| <ownedOperations xmi:id="lyeXH" implementationClass="org.eclipse.ocl.pivot.library.classifier.ClassifierOclContainerOperation" isRequired="false" |
| name="oclContainer" type="#zfDWR"> |
| <ownedComments body="Returns the object for which self is a composed content or null if there is no such object."/> |
| </ownedOperations> |
| <ownedOperations xmi:id="ua8bl" implementationClass="org.eclipse.ocl.pivot.library.classifier.ClassifierOclContentsOperation" name="oclContents" |
| type="#U6ALG"> |
| <ownedComments body="Returns the composed contents of self."/> |
| </ownedOperations> |
| <ownedOperations xmi:id="+IPyW" implementationClass="org.eclipse.ocl.pivot.library.oclany.OclElementOclExtensionOperation" isInvalidating="true" |
| isRequired="false" name="oclExtension" type="#zfDWR"> |
| <ownedComments body="Returns the application instance of the Stereotype that conforms to stereotype applied to this element. Returns invalid if more than one."/> |
| <ownedParameters xmi:id="jyuDS" name="stereotype" type="#ZNWlJ"/> |
| </ownedOperations> |
| <ownedOperations xmi:id="D+JXK" implementationClass="org.eclipse.ocl.pivot.library.oclany.OclElementOclExtensionsOperation" name="oclExtensions" |
| type="#U6ALG"> |
| <ownedComments body="Returns the application instances of the Stereotypes that conform to stereotype applied to this element."/> |
| <ownedParameters xmi:id="UjPCG" name="stereotype" type="#ZNWlJ"/> |
| </ownedOperations> |
| <ownedOperations xmi:id="omW7u" implementationClass="org.eclipse.ocl.pivot.library.oclany.OclElementOclExtensionsOperation" name="oclExtensions" |
| type="#U6ALG"> |
| <ownedComments body="Returns the application instances of all Stereotypes applied to this element."/> |
| </ownedOperations> |
| <ownedOperations xmi:id="hgQiG" implementationClass="org.eclipse.ocl.pivot.library.oclany.OclElementOclIsModelKindOfOperation" name="oclIsModelKindOf" |
| type="#XEMMs"> |
| <ownedComments body="Evaluates to oclText[true] if the type of oclText[self] conforms to the model type oclText[type].
That is, oclText[self] is of type oclText[type] or a subtype of oclText[type].

The return is normally oclText[false] since few model elements have model types. UML's InstanceSpecification::classifier provides
a multiple classification for a model type.
"/> |
| <ownedParameters xmi:id="Cs1Ua" name="type" type="#hlrMH"/> |
| </ownedOperations> |
| <ownedOperations xmi:id="nIOBo" implementationClass="org.eclipse.ocl.pivot.library.oclany.OclElementOclModelTypeOperation" isTypeof="true" |
| name="oclModelType" type="#zlfMH"> |
| <ownedComments body="Evaluates to the most derived model type of which oclText[self] is currently an instance. If oclText[self] is an instance of a multiply
classified model type, the return is the most derived type of the current classification which is established
by an oclText[oclAsModelType()] call.

The return is normally oclText[invalid] since few model elements have model types. UML's InstanceSpecification::classifier provides
a multiple classification for a model type."/> |
| </ownedOperations> |
| <ownedOperations xmi:id="kxvpX" implementationClass="org.eclipse.ocl.pivot.library.oclany.OclElementOclModelTypesOperation" name="oclModelTypes" |
| type="#PRF4+"> |
| <ownedComments body="Evaluates to all of the most derived model types of which oclText[self] is an instance. The return from oclText[oclModelTypes()]
is normally equivalent to that from oclText[oclModelType()] unless oclText[self] is an instance of multiply classified model type.

The return is normally oclText[invalid] since few model elements have model types. UML's InstanceSpecification::classifier provides
a multiple classification for a model type.
"/> |
| </ownedOperations> |
| <ownedProperties xmi:id="IcnIy" implementationClass="org.eclipse.ocl.pivot.library.oclany.OclElementOclContainerProperty" isRequired="false" |
| name="oclContainer" opposite="#i+8xQ" type="#zfDWR"> |
| <ownedComments body="The object for which self is a composed content or null if there is no such object.
"/> |
| </ownedProperties> |
| <ownedProperties xmi:id="REFNQ" implementationClass="org.eclipse.ocl.pivot.library.oclany.OclElementOclContentsProperty" name="oclContents" |
| opposite="#hXMRj" type="#U6ALG"> |
| <ownedComments body="The composed contents of self."/> |
| </ownedProperties> |
| <ownedProperties xmi:id="i+8xQ" isImplicit="true" name="OclElement" opposite="#IcnIy" type="#158KG"/> |
| <ownedProperties xmi:id="hXMRj" isImplicit="true" name="OclElement" opposite="#REFNQ" type="#158KG"/> |
| </ownedClasses> |
| <ownedClasses xmi:id="+8+by" isAbstract="true" name="OclEnumeration" superClasses="#hlrMH"> |
| <ownedAnnotations xsi:type="pivot:Annotation" name="http://www.omg.org/ocl"> |
| <ownedDetails name="ClassGroup"> |
| <values>UML</values> |
| </ownedDetails> |
| </ownedAnnotations> |
| <ownedComments body="The OclEnumeration type is the implicit supertype of any user Enumeration type.
FIXME This is probably obsolete now that static / meta-types clarified.
"/> |
| <ownedOperations xmi:id="vLVBY" implementationClass="org.eclipse.ocl.pivot.library.oclany.OclAnyUnsupportedOperation" name="allInstances" |
| type="#UQF4+"> |
| <ownedComments body="Return a set of all enumeration values of oclText[self].

@Deprecated - retained with broken signature for referential API compatibility."/> |
| <ownedParameters xmi:id="Ggyic" name="dummy" type="#tYtCd"/> |
| </ownedOperations> |
| </ownedClasses> |
| <ownedClasses xsi:type="pivot:InvalidType" xmi:id="urQRp" instanceClassName="org.eclipse.ocl.pivot.InvalidType" isAbstract="true" |
| name="OclInvalid" superClasses="#7u3MH"> |
| <ownedAnnotations xsi:type="pivot:Annotation" name="http://www.omg.org/ocl"> |
| <ownedDetails name="ClassGroup"> |
| <values>OCL</values> |
| </ownedDetails> |
| </ownedAnnotations> |
| <ownedComments body="The type OclInvalid is a type that conforms to all other types.
It has one single instance, identified as oclText[invalid].
Any property call applied on invalid results in oclText[invalid], except for the operations oclIsUndefined() and oclIsInvalid().
OclInvalid is itself an instance of the metatype InvalidType.
"/> |
| <ownedOperations xmi:id="20Esv" implementationClass="org.eclipse.ocl.pivot.library.oclany.OclAnyNotEqualOperation" name="<>" |
| precedence="#YwCPU" type="#XEMMs"> |
| <ownedComments body="Returns oclText[invalid]."/> |
| <ownedParameters xmi:id="cVxzY" isRequired="false" name="object2" type="#zlfMH"/> |
| </ownedOperations> |
| <ownedOperations xmi:id="xXEsv" implementationClass="org.eclipse.ocl.pivot.library.oclany.OclAnyEqualOperation" name="=" precedence="#YwCPU" |
| type="#XEMMs"> |
| <ownedComments body="Returns oclText[invalid]."/> |
| <ownedParameters xmi:id="rchsY" isRequired="false" name="object2" type="#zlfMH"/> |
| </ownedOperations> |
| <ownedOperations xmi:id="f,L9H" implementationClass="org.eclipse.ocl.pivot.library.oclany.OclAnyUnsupportedOperation" name="allInstances" |
| type="#UQF4+"> |
| <ownedComments body="Returns oclText[invalid].

@Deprecated - retained with broken signature for referential API compatibility."/> |
| <ownedParameters xmi:id="2EKcK" name="dummy" type="#tYtCd"/> |
| </ownedOperations> |
| <ownedOperations xmi:id="3mHTu" implementationClass="org.eclipse.ocl.pivot.library.logical.BooleanAndOperation" isRequired="false" |
| isValidating="true" name="and" precedence="#VT87C" type="#XEMMs"> |
| <ownedParameters xmi:id="o9Mmw" isRequired="false" name="b" type="#XEMMs"/> |
| </ownedOperations> |
| <ownedOperations xmi:id="XCoFh" implementationClass="org.eclipse.ocl.pivot.library.logical.BooleanImpliesOperation" isRequired="false" |
| isValidating="true" name="implies" precedence="#1Odhg" type="#XEMMs"> |
| <ownedParameters xmi:id="IrjVA" isRequired="false" name="b" type="#XEMMs"/> |
| </ownedOperations> |
| <ownedOperations xmi:id="DoKPW" implementationClass="org.eclipse.ocl.pivot.library.oclany.OclAnyOclAsSetOperation" name="oclAsSet" |
| type="#UQF4+"/> |
| <ownedOperations xmi:id="QOXxW" implementationClass="org.eclipse.ocl.pivot.library.oclany.OclAnyOclAsTypeOperation" name="oclAsType" |
| type="#e0WDG"> |
| <ownedParameters xmi:id="1S9Sb" isTypeof="true" name="type" type="#e0WDG"/> |
| <ownedSignature> |
| <ownedParameters xmi:id="e0WDG" name="TT"/> |
| </ownedSignature> |
| </ownedOperations> |
| <ownedOperations xmi:id="FGLX2" isRequired="false" name="oclBadOperation" type="#jbMkR"> |
| <ownedComments body="An oclBadOperation may be used as a placeholder in an unsuccessfully created OCLExpression."/> |
| </ownedOperations> |
| <ownedOperations xmi:id="gy0od" implementationClass="org.eclipse.ocl.pivot.library.oclany.OclAnyOclIsInvalidOperation" isValidating="true" |
| name="oclIsInvalid" type="#XEMMs"/> |
| <ownedOperations xmi:id="rtp9s" implementationClass="org.eclipse.ocl.pivot.library.oclany.OclAnyOclIsKindOfOperation" name="oclIsKindOf" |
| type="#XEMMs"> |
| <ownedParameters xmi:id="kk8Vd" name="type" type="#hlrMH"/> |
| </ownedOperations> |
| <ownedOperations xmi:id="R2JN9" implementationClass="org.eclipse.ocl.pivot.library.oclany.OclAnyOclIsTypeOfOperation" name="oclIsTypeOf" |
| type="#XEMMs"> |
| <ownedParameters xmi:id="yqlpk" name="type" type="#hlrMH"/> |
| </ownedOperations> |
| <ownedOperations xmi:id="5RmCx" implementationClass="org.eclipse.ocl.pivot.library.oclany.OclAnyOclIsUndefinedOperation" isValidating="true" |
| name="oclIsUndefined" type="#XEMMs"/> |
| <ownedOperations xmi:id="dncW5" implementationClass="org.eclipse.ocl.pivot.library.oclany.OclAnyOclTypeOperation" isTypeof="true" |
| name="oclType" type="#zlfMH"/> |
| <ownedOperations xmi:id="D3wSu" implementationClass="org.eclipse.ocl.pivot.library.logical.BooleanAndOperation" isRequired="false" |
| isValidating="true" name="or" precedence="#BEt7C" type="#XEMMs"> |
| <ownedParameters xmi:id="ENU7q" isRequired="false" name="b" type="#XEMMs"/> |
| </ownedOperations> |
| <ownedOperations xmi:id="Xfrkw" implementationClass="org.eclipse.ocl.pivot.library.oclany.OclAnyToStringOperation" name="toString" |
| type="#AlwVZ"> |
| <ownedComments body="Returns 'invalid'."/> |
| </ownedOperations> |
| <ownedProperties xmi:id="QSjNW" isRequired="false" name="oclBadProperty" opposite="#c8rKW" type="#jbMkR"> |
| <ownedComments body="An oclBadProperty may be used as a placeholder in an unsuccessfully created OCLExpression."/> |
| </ownedProperties> |
| </ownedClasses> |
| <ownedClasses xmi:id="ufpqK" isAbstract="true" name="OclLambda" superClasses="#jbMkR"> |
| <ownedAnnotations xsi:type="pivot:Annotation" name="http://www.omg.org/ocl"> |
| <ownedDetails name="ClassGroup"> |
| <values>OCL</values> |
| </ownedDetails> |
| </ownedAnnotations> |
| <ownedComments body="The type OclLambda is the implicit supertype of all Lambda types. The operations defined for OclLambda
therefore apply to all lambda expressions.
"/> |
| </ownedClasses> |
| <ownedClasses xmi:id="+jBYt" isAbstract="true" name="OclMessage" superClasses="#jbMkR"> |
| <ownedAnnotations xsi:type="pivot:Annotation" name="http://www.omg.org/ocl"> |
| <ownedDetails name="ClassGroup"> |
| <values>UML</values> |
| </ownedDetails> |
| </ownedAnnotations> |
| <ownedComments body="OclMessage
This sub clause contains the definition of the standard type OclMessage.
As defined in this sub clause, each ocl message type is actually a template type with one parameter.
âTâ denotes the parameter.
A concrete ocl message type is created by substituting an operation or signal for the T.

The predefined type OclMessage is an instance of MessageType.
Every OclMessage is fully determined by either the operation, or signal given as parameter.
Note that there is conceptually an undefined (infinite) number of these types,
as each is determined by a different operation or signal.
These types are unnamed. Every type has as attributes the name of the operation or signal,
and either all formal parameters of the operation, or all attributes of the signal.
OclMessage is itself an instance of the metatype MessageType.

OclMessage has a number of predefined operations, as shown in the OCL Standard Library.
"/> |
| <ownedOperations xmi:id="EX,aT" implementationClass="org.eclipse.ocl.pivot.library.oclany.OclAnyUnsupportedOperation" name="hasReturned" |
| type="#XEMMs"> |
| <ownedComments body="True if type of template parameter is an operation call, and the called operation has returned a value.
This implies the fact that the message has been sent. False in all other cases.
"/> |
| </ownedOperations> |
| <ownedOperations xmi:id="WqoFB" implementationClass="org.eclipse.ocl.pivot.library.oclany.OclAnyUnsupportedOperation" name="isOperationCall" |
| type="#XEMMs"> |
| <ownedComments body="Returns oclText[true] if the OclMessage represents the sending of a UML Operation call.
"/> |
| </ownedOperations> |
| <ownedOperations xmi:id="lZ5A7" implementationClass="org.eclipse.ocl.pivot.library.oclany.OclAnyUnsupportedOperation" name="isSignalSent" |
| type="#XEMMs"> |
| <ownedComments body="Returns oclText[true] if the OclMessage represents the sending of a UML Signal.
"/> |
| </ownedOperations> |
| <ownedOperations xmi:id="YNUsC" implementationClass="org.eclipse.ocl.pivot.library.oclany.OclAnyUnsupportedOperation" isRequired="false" |
| name="result" type="#jbMkR"> |
| <ownedComments body="Returns the result of the called operation, if type of template parameter is an operation call,
and the called operation has returned a value. Otherwise the oclText[invalid] value is returned.
"/> |
| </ownedOperations> |
| </ownedClasses> |
| <ownedClasses xsi:type="pivot:SelfType" xmi:id="zlfMH" instanceClassName="org.eclipse.ocl.pivot.SelfType" isAbstract="true" name="OclSelf" |
| superClasses="#jbMkR"> |
| <ownedAnnotations xsi:type="pivot:Annotation" name="http://www.omg.org/ocl"> |
| <ownedDetails name="ClassGroup"> |
| <values>OCL</values> |
| </ownedDetails> |
| </ownedAnnotations> |
| <ownedComments body="The pseudo-type OclSelf denotes the statically determinate type of oclText[self] in Operation
and Iteration signatures. Instances of OclSelf are never created.
"/> |
| </ownedClasses> |
| <ownedClasses xmi:id="IebtF" isAbstract="true" name="OclState" superClasses="#jbMkR"> |
| <ownedAnnotations xsi:type="pivot:Annotation" name="http://www.omg.org/ocl"> |
| <ownedDetails name="ClassGroup"> |
| <values>UML</values> |
| </ownedDetails> |
| </ownedAnnotations> |
| </ownedClasses> |
| <ownedClasses xmi:id="ZNWlJ" isAbstract="true" name="OclStereotype" superClasses="#hlrMH"> |
| <ownedAnnotations xsi:type="pivot:Annotation" name="http://www.omg.org/ocl"> |
| <ownedDetails name="ClassGroup"> |
| <values>OCL</values> |
| </ownedDetails> |
| </ownedAnnotations> |
| <ownedComments body="The type OclStereotype is the implicit supertype of any UML stereotype. Operations defined
for OclStereotype are therefore applicable to all UML stereotypes.
"/> |
| <ownedOperations xmi:id="eKWZo" implementationClass="org.eclipse.ocl.pivot.library.oclany.OclAnyUnsupportedOperation" name="allInstances" |
| type="#UQF4+"> |
| <ownedComments body="Return a set of all instances of the stereotype and derived types of self.

@Deprecated - retained with broken signature for referential API compatibility."/> |
| <ownedParameters xmi:id="5Tbqr" name="dummy" type="#tYtCd"/> |
| </ownedOperations> |
| </ownedClasses> |
| <ownedClasses xmi:id="D4eXY" isAbstract="true" name="OclSummable" superClasses="#jbMkR"> |
| <ownedAnnotations xsi:type="pivot:Annotation" name="http://www.omg.org/ocl"> |
| <ownedDetails name="ClassGroup"> |
| <values>OCL</values> |
| </ownedDetails> |
| </ownedAnnotations> |
| <ownedComments body="The type OclSummable defines the sum and zero operations used by the Collection::sum iteration. Only types that provide derived
sum and zero implementations may be summed."/> |
| <ownedOperations xmi:id="A768F" name="sum" type="#zlfMH"> |
| <ownedComments body="Return the sum of self and that.

The sum operation should be associative."/> |
| <ownedParameters xmi:id="SGarG" name="that" type="#zlfMH"/> |
| </ownedOperations> |
| <ownedOperations xmi:id="U7w9w" name="zero" type="#zlfMH"> |
| <ownedComments body="Return the 'zero' value of self to initialize a summation.

zero().sum(self) = self."/> |
| </ownedOperations> |
| </ownedClasses> |
| <ownedClasses xmi:id=",qHxF" isAbstract="true" name="OclTuple" superClasses="#jbMkR"> |
| <ownedAnnotations xsi:type="pivot:Annotation" name="http://www.omg.org/ocl"> |
| <ownedDetails name="ClassGroup"> |
| <values>OCL</values> |
| </ownedDetails> |
| </ownedAnnotations> |
| <ownedComments body="The type OclTuple is the implicit supertype of all Tuple types. The operations defined for OclTuple
therefore apply to all tuples.
"/> |
| <ownedOperations xmi:id="DHU8X" implementationClass="org.eclipse.ocl.pivot.library.oclany.OclAnyNotEqualOperation" name="<>" |
| precedence="#YwCPU" type="#XEMMs"> |
| <ownedParameters xmi:id="1um3j" isRequired="false" name="object2" type="#zlfMH"/> |
| </ownedOperations> |
| <ownedOperations xmi:id="+pT8X" implementationClass="org.eclipse.ocl.pivot.library.oclany.OclAnyEqualOperation" name="=" precedence="#YwCPU" |
| type="#XEMMs"> |
| <ownedParameters xmi:id="E2Wwj" isRequired="false" name="object2" type="#zlfMH"/> |
| </ownedOperations> |
| </ownedClasses> |
| <ownedClasses xmi:id="hlrMH" isAbstract="true" name="OclType" superClasses="#zfDWR"> |
| <ownedAnnotations xsi:type="pivot:Annotation" name="http://www.omg.org/ocl"> |
| <ownedDetails name="ClassGroup"> |
| <values>OCL</values> |
| </ownedDetails> |
| </ownedAnnotations> |
| <ownedComments body="The type OclType is the implicit supertype of any UML type. Operations defined
for OclType are therefore applicable to all UML types.
"/> |
| <ownedOperations xmi:id="N,qUJ" implementationClass="org.eclipse.ocl.pivot.library.classifier.OclTypeConformsToOperation" name="conformsTo" |
| type="#XEMMs"> |
| <ownedComments body="Returns true if type2 conforms to self."/> |
| <ownedParameters xmi:id="8zd++" isRequired="false" name="type2" type="#hlrMH"/> |
| </ownedOperations> |
| </ownedClasses> |
| <ownedClasses xsi:type="pivot:VoidType" xmi:id="7u3MH" instanceClassName="org.eclipse.ocl.pivot.VoidType" isAbstract="true" name="OclVoid" |
| superClasses="#jbMkR"> |
| <ownedAnnotations xsi:type="pivot:Annotation" name="http://www.omg.org/ocl"> |
| <ownedDetails name="ClassGroup"> |
| <values>OCL</values> |
| </ownedDetails> |
| </ownedAnnotations> |
| <ownedComments body="The type OclVoid is a type that conforms to all other types except OclInvalid.
It has one single instance, identified as oclText[null], that corresponds with the UML LiteralNull value specification.
Any property call applied on oclText[null] results in oclText[invalid], except for the
oclIsUndefined(), oclIsInvalid(), =(OclAny) and <>(OclAny) operations.
However, by virtue of the implicit conversion to a collection literal,
an expression evaluating to oclText[null] can be used as source of collection operations (such as âisEmptyâ).
If the source is the oclText[null] literal, it is implicitly converted to Bag{}.

OclVoid is itself an instance of the metatype VoidType.
"/> |
| <ownedOperations xmi:id="vbErx" implementationClass="org.eclipse.ocl.pivot.library.string.StringConcatOperation" name="+" precedence="#qLHeo" |
| type="#AlwVZ"> |
| <ownedComments body="The concatenation of oclText[null] and s.
"/> |
| <ownedParameters xmi:id="Rfkrl" isRequired="false" name="s" type="#AlwVZ"/> |
| </ownedOperations> |
| <ownedOperations xmi:id="P7CqP" implementationClass="org.eclipse.ocl.pivot.library.oclany.OclAnyNotEqualOperation" name="<>" |
| precedence="#YwCPU" type="#XEMMs"> |
| <ownedParameters xmi:id="RSdbY" isRequired="false" name="object2" type="#zlfMH"/> |
| </ownedOperations> |
| <ownedOperations xmi:id="KeCqP" implementationClass="org.eclipse.ocl.pivot.library.oclany.OclAnyEqualOperation" name="=" precedence="#YwCPU" |
| type="#XEMMs"> |
| <ownedComments body="Redefines the OclAny operation, returning oclText[true] if object is oclText[null], oclText[invalid]
if object is oclText[invalid], oclText[false] otherwise.
"/> |
| <ownedParameters xmi:id="gZNUY" isRequired="false" name="object2" type="#zlfMH"/> |
| </ownedOperations> |
| <ownedOperations xmi:id="4FK7n" implementationClass="org.eclipse.ocl.pivot.library.oclany.OclAnyUnsupportedOperation" name="allInstances" |
| type="#PRF4+"> |
| <ownedComments body="Returns oclText[Set{null}].

@Deprecated - retained with broken signature for referential API compatibility."/> |
| <ownedParameters xmi:id="rB2DK" name="dummy" type="#tYtCd"/> |
| </ownedOperations> |
| <ownedOperations xmi:id="QtFRO" implementationClass="org.eclipse.ocl.pivot.library.oclvoid.OclVoidAndOperation" isInvalidating="true" |
| isRequired="false" isValidating="true" name="and" precedence="#VT87C" type="#XEMMs"> |
| <ownedParameters xmi:id="d64Nw" isRequired="false" name="b" type="#XEMMs"/> |
| </ownedOperations> |
| <ownedOperations xmi:id="Y376g" implementationClass="org.eclipse.ocl.pivot.library.string.StringConcatOperation" name="concat" type="#AlwVZ"> |
| <ownedComments body="The concatenation of oclText[null] and s.
"/> |
| <ownedParameters xmi:id="Wc4yV" isRequired="false" name="s" type="#AlwVZ"/> |
| </ownedOperations> |
| <ownedOperations xmi:id="wImDB" implementationClass="org.eclipse.ocl.pivot.library.oclvoid.OclVoidImpliesOperation" isInvalidating="true" |
| isRequired="false" isValidating="true" name="implies" precedence="#1Odhg" type="#XEMMs"> |
| <ownedParameters xmi:id="9nP9," isRequired="false" name="b" type="#XEMMs"/> |
| </ownedOperations> |
| <ownedOperations xmi:id="XHfd6" implementationClass="org.eclipse.ocl.pivot.library.logical.BooleanNotOperation" isInvalidating="true" |
| isRequired="false" isValidating="true" name="not" precedence="#tgQwH" type="#XEMMs"/> |
| <ownedOperations xmi:id="cuIN2" implementationClass="org.eclipse.ocl.pivot.library.oclany.OclAnyOclAsSetOperation" name="oclAsSet" |
| type="#UQF4+"/> |
| <ownedOperations xmi:id="pUVv2" implementationClass="org.eclipse.ocl.pivot.library.oclany.OclAnyOclAsTypeOperation" isInvalidating="true" |
| isRequired="false" name="oclAsType" type="#,NgLC"> |
| <ownedParameters xmi:id="qPp6a" isTypeof="true" name="type" type="#,NgLC"/> |
| <ownedSignature> |
| <ownedParameters xmi:id=",NgLC" name="TT"/> |
| </ownedSignature> |
| </ownedOperations> |
| <ownedOperations xmi:id="54ym9" implementationClass="org.eclipse.ocl.pivot.library.oclany.OclAnyOclIsInvalidOperation" isValidating="true" |
| name="oclIsInvalid" type="#XEMMs"/> |
| <ownedOperations xmi:id="E0n7M" implementationClass="org.eclipse.ocl.pivot.library.oclany.OclAnyOclIsKindOfOperation" name="oclIsKindOf" |
| type="#XEMMs"> |
| <ownedParameters xmi:id="Zho9c" name="type" type="#hlrMH"/> |
| </ownedOperations> |
| <ownedOperations xmi:id="q8HLd" implementationClass="org.eclipse.ocl.pivot.library.oclany.OclAnyOclIsTypeOfOperation" name="oclIsTypeOf" |
| type="#XEMMs"> |
| <ownedParameters xmi:id="nnRRk" name="type" type="#hlrMH"/> |
| </ownedOperations> |
| <ownedOperations xmi:id="SYkAR" implementationClass="org.eclipse.ocl.pivot.library.oclany.OclAnyOclIsUndefinedOperation" isValidating="true" |
| name="oclIsUndefined" type="#XEMMs"/> |
| <ownedOperations xmi:id="2taUZ" implementationClass="org.eclipse.ocl.pivot.library.oclany.OclAnyOclTypeOperation" isTypeof="true" |
| name="oclType" type="#zlfMH"/> |
| <ownedOperations xmi:id="FF3Q3" implementationClass="org.eclipse.ocl.pivot.library.oclany.OclAnyOclTypesOperation" name="oclTypes" |
| type="#PRF4+"/> |
| <ownedOperations xmi:id="c9uQO" implementationClass="org.eclipse.ocl.pivot.library.oclvoid.OclVoidOrOperation" isInvalidating="true" |
| isRequired="false" isValidating="true" name="or" precedence="#BEt7C" type="#XEMMs"> |
| <ownedParameters xmi:id="5JAjq" isRequired="false" name="b" type="#XEMMs"/> |
| </ownedOperations> |
| <ownedOperations xmi:id="wlpiQ" implementationClass="org.eclipse.ocl.pivot.library.oclany.OclAnyToStringOperation" name="toString" |
| type="#AlwVZ"> |
| <ownedComments body="Returns oclText[null]."/> |
| </ownedOperations> |
| <ownedOperations xmi:id="UHLRO" implementationClass="org.eclipse.ocl.pivot.library.logical.BooleanXorOperation" isRequired="false" |
| name="xor" precedence="#ZtB8C" type="#XEMMs"> |
| <ownedParameters xmi:id="RsJkx" isRequired="false" name="b" type="#XEMMs"/> |
| </ownedOperations> |
| </ownedClasses> |
| <ownedClasses xsi:type="pivot:CollectionType" xmi:id="Vw5fK" instanceClassName="java.util.Collection" isAbstract="true" name="OrderedCollection" |
| superClasses="#cfVYj"> |
| <ownedAnnotations xsi:type="pivot:Annotation" name="http://www.omg.org/ocl"> |
| <ownedDetails name="ClassGroup"> |
| <values>Collection</values> |
| </ownedDetails> |
| </ownedAnnotations> |
| <ownedComments body="The OrderedCollection type provides the shared functionality of the OrderedSet and Sequence
collections for which the elements are ordered.
The common supertype of OrderedCollection is Collection.
"/> |
| <ownedOperations xmi:id="ArMlL" implementationClass="org.eclipse.ocl.pivot.library.collection.OrderedCollectionAtOperation" isInvalidating="true" |
| isRequired="false" name="at" type="#feFHs"> |
| <ownedComments body="The i-th element of ordered collection.
"/> |
| <ownedParameters xmi:id="9iy,," name="index" type="#tYtCd"/> |
| </ownedOperations> |
| <ownedOperations xmi:id="mCC4m" implementationClass="org.eclipse.ocl.pivot.library.collection.OrderedCollectionFirstOperation" isInvalidating="true" |
| isRequired="false" name="first" type="#feFHs"> |
| <ownedComments body="The first element in oclText[self].
"/> |
| </ownedOperations> |
| <ownedOperations xmi:id="gSZ5U" implementationClass="org.eclipse.ocl.pivot.library.collection.OrderedCollectionIndexOfOperation" |
| isRequired="false" name="indexOf" type="#tYtCd"> |
| <ownedComments body="The index of object obj in the ordered collection. Returns null for an out of bound index.
"/> |
| <ownedParameters xmi:id="C9sOh" isRequired="false" name="obj" type="#feFHs"/> |
| </ownedOperations> |
| <ownedOperations xmi:id="MC+Qh" implementationClass="org.eclipse.ocl.pivot.library.collection.OrderedCollectionLastOperation" isInvalidating="true" |
| isRequired="false" name="last" type="#feFHs"> |
| <ownedComments body="The last element in oclText[self].
"/> |
| </ownedOperations> |
| <ownedSignature> |
| <ownedParameters xmi:id="feFHs" name="T"/> |
| </ownedSignature> |
| </ownedClasses> |
| <ownedClasses xsi:type="pivot:OrderedSetType" xmi:id="fIXUp" instanceClassName="org.eclipse.ocl.pivot.values.OrderedSet" name="OrderedSet" |
| superClasses="#zE,BO #Xv5mH"> |
| <ownedAnnotations xsi:type="pivot:Annotation" name="http://www.omg.org/ocl"> |
| <ownedDetails name="ClassGroup"> |
| <values>Collection</values> |
| </ownedDetails> |
| </ownedAnnotations> |
| <ownedComments body="The OrderedSet is a Set, the elements of which are ordered.
It contains no duplicates. OrderedSet is itself an instance of the metatype OrderedSetType.
An OrderedSet is not a subtype of Set, neither a subtype of Sequence.
The common supertype of Sets and OrderedSets is Collection.
"/> |
| <ownedOperations xmi:id="oLqxV" implementationClass="org.eclipse.ocl.pivot.library.collection.SetMinusOperation" name="-" precedence="#qLHeo" |
| type="#fIXUp"> |
| <ownedComments body="The elements of oclText[self], which are not in s.
"/> |
| <ownedParameters xmi:id="mfxzi" name="s" type="#xUwyY"/> |
| </ownedOperations> |
| <ownedOperations xmi:id="ju9Jh" implementationClass="org.eclipse.ocl.pivot.library.oclany.OclAnyNotEqualOperation" name="<>" |
| precedence="#YwCPU" type="#XEMMs"> |
| <ownedComments body="Evaluates to oclText[true] unless oclText[self] and s contain the same elements.
"/> |
| <ownedParameters xmi:id="V4hoi" isRequired="false" name="object2" type="#zlfMH"/> |
| </ownedOperations> |
| <ownedOperations xmi:id="eR9Jh" implementationClass="org.eclipse.ocl.pivot.library.oclany.OclAnyEqualOperation" name="=" precedence="#YwCPU" |
| type="#XEMMs"> |
| <ownedComments body="Evaluates to oclText[true] if oclText[self] and s contain the same elements.
"/> |
| <ownedParameters xmi:id="k,Rhi" isRequired="false" name="object2" type="#zlfMH"/> |
| </ownedOperations> |
| <ownedOperations xmi:id="TNM23" implementationClass="org.eclipse.ocl.pivot.library.collection.OrderedCollectionAppendOperation" |
| name="append" type="#fIXUp"> |
| <ownedComments body="The set of elements, consisting of all elements of oclText[self], followed by object.
"/> |
| <ownedParameters xmi:id="xVwGI" isRequired="false" name="object" type="#53+C2"/> |
| </ownedOperations> |
| <ownedOperations xmi:id="FuPDG" implementationClass="org.eclipse.ocl.pivot.library.collection.OrderedCollectionAppendAllOperation" |
| name="appendAll" type="#fIXUp"> |
| <ownedComments body="The set of elements, consisting of all elements of oclText[self], followed by objects.
"/> |
| <ownedParameters xmi:id="wakcI" name="objects" type="#zE,BO"/> |
| </ownedOperations> |
| <ownedOperations xsi:type="pivot:Iteration" xmi:id="05nm," implementationClass="org.eclipse.ocl.pivot.library.iterator.ClosureIteration" |
| name="closure" type="#fIXUp"> |
| <ownedComments body="The closure of applying body transitively to every distinct element of the source collection.
"/> |
| <ownedIterators xmi:id="tQSGS" name="i" type="#53+C2"/> |
| <ownedParameters xmi:id="Wiwly" isRequired="false" name="lambda" type="#e5sKD"/> |
| </ownedOperations> |
| <ownedOperations xsi:type="pivot:Iteration" xmi:id="jV1iE" implementationClass="org.eclipse.ocl.pivot.library.iterator.CollectIteration" |
| name="collect" type="#,aKE3"> |
| <ownedComments body="The Sequence of elements that results from applying body to every member of the source set.
The result is flattened. Notice that this is based on collectNested, which can be of different type depending on the type of source.
collectNested is defined individually for each subclass of CollectionType.
"/> |
| <ownedIterators xmi:id="gtloG" isRequired="false" name="i" type="#53+C2"/> |
| <ownedParameters xmi:id="J,DIn" isRequired="false" name="lambda" type="#ekZDz"/> |
| <ownedSignature> |
| <ownedParameters xmi:id="ftoBy" name="V"/> |
| </ownedSignature> |
| </ownedOperations> |
| <ownedOperations xsi:type="pivot:Iteration" xmi:id="6r5Ys" implementationClass="org.eclipse.ocl.pivot.library.iterator.CollectNestedIteration" |
| name="collectNested" type="#2wnD2"> |
| <ownedComments body="The sequence of elements that results from applying body to every member of the source ordered collection.
"/> |
| <ownedIterators xmi:id="ba+Lw" isRequired="false" name="i" type="#53+C2"/> |
| <ownedParameters xmi:id="EscrQ" isRequired="false" name="lambda" type="#,dI4y"/> |
| <ownedSignature> |
| <ownedParameters xmi:id="uWtir" name="V"/> |
| </ownedSignature> |
| </ownedOperations> |
| <ownedOperations xmi:id="QBOdw" implementationClass="org.eclipse.ocl.pivot.library.collection.CollectionExcludingOperation" name="excluding" |
| |