OCLOperators allInstances
m (Lars moved page Allinstances operator to OCLOperators allInstances: Not exactly the right URL (needed for designer lookup))
No edit summary
Line 31: Line 31:
|'''<nowiki>Thing.allInstances- >select(x|x.safeCast(SubClassThing1). OnlyAvailableInSubClass='Hello')</nowiki>'''
|'''<nowiki>Thing.allInstances- >select(x|x.safeCast(SubClassThing1). OnlyAvailableInSubClass='Hello')</nowiki>'''
|Filtering on Specialization is done with an operator SafeCast. This is null safe so for all objects that do not fit the profile the expression returns false
|Filtering on Specialization is done with an operator SafeCast. This is null safe so for all objects that do not fit the profile the expression returns false
|}
To find all available you can open the OCL-Editor and type in a class:
[[File:Ocl-editor 1.png|frameless|348x348px]]
The operations listed do this:
{| class="wikitable"
!Operators
!Description
|-
|Allinstances
|All the objects of the class
|-
|allinstancesAtTime
|All the currently loaded instances
|-
|AllStates
|Meta information about available states in state machines the class may contain
|-
|allSubClasses
|Meta information on all the sub classes this class has
|-
|AllSuperTypes
|Meta information on all the super classes – in inheritance order the class has
|-
|associationEnds
|Meta information on all the associationEnds
|-
|Asstring
|The string representation of the class – the asString operation is available on everything
|-
|Attributes
|Meta information about what attributes the class has
|-
|Contraints
|Meta information on what constraints the class has
|-
|Emptylist
|Returns an empty list typed to hold objects of the class
|-
|IsDirtyMember
|
|-
|isNull
|
|-
|nullValue
|A typed null value
|-
|objectFromExternalId
|An external identity will be resolved to the object
|-
|oclAsType
|The type of the class
|-
|oclIsKindOf
|This is to if a class is a subclass or a the class itself and not unrelated
|-
|oclIsTypeOf
|Returns true if
|-
|oclSingleton
|Classes that implements the Singleton pattern – by setting IsSingleton=true – will return the singleton instance with this operator
|-
|OclType
|
|-
|safeCast
|
|-
|SuperTypes
|
|-
|TaggedValue
|Meta information on tagged values set in the class
|-
|TaggedValueOnFeature
|Meta information on Tagged values set on a named feature in the class
|-
|Typename
|The type name as a string
|-
|ViewModels
|A tuple with the ViewModels for this class a members
|}
|}

Revision as of 07:25, 13 August 2017

It is a common operator. To find all available you can open the OCL-Editor and type in a class:

Your model is central to all expression you will handle. We will use this model to for the examples:

Allinstances operator.png

Operators Description
Thing.allinstances Gives you a list of all Things
Things.allinstances->select(someInt>3) Only things with someInt bigger than 3
Thing.allinstances->select( (someInt>3) and (someInt<6)) Only things with someInt bigger than 3 but less than 6. Notice the extra parenthesis to or the Boolean expressions together
Things.allinstances->select(x|x.someInt>3) Here we introduce the loop variable x. We separate the definition of x from the usage of x with the pipe sign “|”. Loop variables are optional but if names are unique – but you will need to use them to give precision or to if you want to perform operations on the loop context itself.
Things.allinstances.Details Gives a list of all detail objects that are connected to a Thing. The Detail objects that float around without a Thing will not be in the list
Things.allinstances.Details.Attribute1 A list of nullable strings from the contents from the details attribute1. Note that OCL is null-tolerant – you do not need to check if the Details exists of not – the language handles null checks for you
SubClassThing1.allinstances.Details Inherited features of classes are directly accessible
Thing.allInstances- >select(x|x.safeCast(SubClassThing1). OnlyAvailableInSubClass='Hello') Filtering on Specialization is done with an operator SafeCast. This is null safe so for all objects that do not fit the profile the expression returns false

To find all available you can open the OCL-Editor and type in a class:

Ocl-editor 1.png

The operations listed do this:

Operators Description
Allinstances All the objects of the class
allinstancesAtTime All the currently loaded instances
AllStates Meta information about available states in state machines the class may contain
allSubClasses Meta information on all the sub classes this class has
AllSuperTypes Meta information on all the super classes – in inheritance order the class has
associationEnds Meta information on all the associationEnds
Asstring The string representation of the class – the asString operation is available on everything
Attributes Meta information about what attributes the class has
Contraints Meta information on what constraints the class has
Emptylist Returns an empty list typed to hold objects of the class
IsDirtyMember
isNull
nullValue A typed null value
objectFromExternalId An external identity will be resolved to the object
oclAsType The type of the class
oclIsKindOf This is to if a class is a subclass or a the class itself and not unrelated
oclIsTypeOf Returns true if
oclSingleton Classes that implements the Singleton pattern – by setting IsSingleton=true – will return the singleton instance with this operator
OclType
safeCast
SuperTypes
TaggedValue Meta information on tagged values set in the class
TaggedValueOnFeature Meta information on Tagged values set on a named feature in the class
Typename The type name as a string
ViewModels A tuple with the ViewModels for this class a members
This page was edited 100 days ago on 02/10/2024. What links here