OCLOperators
No edit summary |
|||
(10 intermediate revisions by 3 users not shown) | |||
Line 94: | Line 94: | ||
!Operators | !Operators | ||
!Description | !Description | ||
|- | |||
|'''[[OCLOperators any|->any]]''' | |||
|Returns any element contained in ''self'' that validates the condition ''expr'', null otherwise. | |||
|- | |- | ||
|'''[[OCLOperators append|->append]]''' | |'''[[OCLOperators append|->append]]''' | ||
|Add another object last | |Add another object last | ||
|- | |- | ||
|'''->asBag''' | |'''[[OCLOperators asBag|->asBag]]''' | ||
|Collapses to one list | |Collapses to one list | ||
|- | |- | ||
|'''->asSequence''' | |'''[[OCLOperators asSequence|->asSequence]]''' | ||
|Collapses to one list | |Collapses to one list | ||
|- | |- | ||
|'''-> | |'''[[OCLOperators asSet|->asSet]]''' | ||
|Remove doublets | |Remove doublets | ||
|- | |- | ||
|'''->at''' | |'''[[OCLOperators at|->at]]''' | ||
|Get the objects at X where the first index is 1 | |Get the objects at X where the first index is 1 | ||
|- | |- | ||
|'''->at0''' | |'''[[OCLOperators at0|->at0]]''' | ||
|Get the objects at X where the first index is 0 | |Get the objects at X where the first index is 0 | ||
|- | |- | ||
|'''->collect''' | |'''[[OCLOperators collect|->collect]]''' | ||
|Iterate over the collection and build a tuple result | |Iterate over the collection and build a tuple result | ||
|- | |- | ||
|'''->count''' | |'''[[OCLOperators count|->count]]''' | ||
|Count how many meet a certain criteria | |Count how many meet a certain criteria | ||
|- | |- | ||
|'''->difference''' | |[[OCLOperators dictionary|'''->dictionary''']] | ||
|Efficiently looks up values | |||
|- | |||
|'''[[OCLOperators difference|->difference]]''' | |||
|The difference between 2 collections | |The difference between 2 collections | ||
|- | |- | ||
|'''->excluding''' | |'''[[OCLOperators excluding|->excluding]]''' | ||
|The collection except this single object | |The collection except this single object | ||
|- | |- | ||
|'''->exists''' | |'''[[OCLOperators exists|->exists]]''' | ||
|Are there any objects that fulfill the criteria | |Are there any objects that fulfill the criteria | ||
|- | |- | ||
|'''->filterOnType''' | |'''[[OCLOperators filterOnType|->filterOnType]]''' | ||
|Only keep the ones of a certain type | |Only keep the ones of a certain type | ||
|- | |- | ||
|'''->first''' | |'''[[OCLOperators first|->first]]''' | ||
|Return the first object | |Return the first object | ||
|- | |- | ||
|'''->forAll''' | |'''[[OCLOperators forAll|->forAll]]''' | ||
|Iterate all that fulfills the critera | |Iterate all that fulfills the critera | ||
|- | |- | ||
|'''->groupBy''' | |'''[[OCLOperators groupBy|->groupBy]]''' | ||
|Build collection of tuples grouped by some aspect | |Build collection of tuples grouped by some aspect | ||
|- | |- | ||
|'''->includes''' | |'''[[OCLOperators includes|->includes]]''' | ||
|Does the collection include the object | |Does the collection include the object | ||
|- | |- | ||
|'''->includesAll''' | |'''[[OCLOperators includesAll|->includesAll]]''' | ||
|Does the collection include the whole other collection | |Does the collection include the whole other collection | ||
|- | |- | ||
|'''->including''' | |'''[[OCLOperators including|->including]]''' | ||
| | |Returns the list with the element in the parameter included. | ||
|- | |- | ||
|'''->IndexOf''' | |'''[[OCLOperators indexOf|->IndexOf]]''' | ||
|The 1 based index of an object in the collection possibly -1 if not existing | |The 1 based index of an object in the collection possibly -1 if not existing | ||
|- | |- | ||
|'''->indexOf0''' | |'''[[OCLOperators indexOf0|->indexOf0]]''' | ||
|The 0 based index of an object in the collection possibly -1 if not existing | |The 0 based index of an object in the collection possibly -1 if not existing | ||
|- | |- | ||
|'''->intersection''' | |'''[[OCLOperators intersection|->intersection]]''' | ||
|The intersection of two collections | |The intersection of two collections | ||
|- | |- | ||
|'''->isEmpty''' | |'''[[OCLOperators isEmpty|->isEmpty]]''' | ||
|Returns true if the collection is empty | |Returns true if the collection is empty | ||
|- | |- | ||
|'''->last''' | |'''[[OCLOperators last|->last]]''' | ||
|Returns the last object in the collection | |Returns the last object in the collection | ||
|- | |- | ||
|'''->notEmpty''' | |'''[[OCLOperators notEmpty|->notEmpty]]''' | ||
|Returns true of the collection is not empty | |Returns true of the collection is not empty | ||
|- | |- | ||
|'''->orderBy''' | |'''[[OCLOperators orderBy|->orderBy]]''' | ||
|Sorts the collection on one or more properties | |Sorts the collection on one or more properties | ||
|- | |- | ||
|'''->orderDescending''' | |'''[[OCLOperators orderDescending|->orderDescending]]''' | ||
|Sort the from biggest to smallest | |Sort the from biggest to smallest | ||
|- | |- | ||
|'''->orderGeneric''' | |'''[[OCLOperators orderGeneric|->orderGeneric]]''' | ||
|Sorts the list of properties with interchangeable sort order: (expr1, OclSortDirection::ascending, expr2, OclSortDirection::descending...) | |Sorts the list of properties with interchangeable sort order: (expr1, OclSortDirection::ascending, expr2, OclSortDirection::descending...) | ||
|- | |- | ||
|'''->prepend''' | |'''[[OCLOperators prepend|->prepend]]''' | ||
|Add an object in front of the list | |Add an object in front of the list | ||
|- | |- | ||
|'''->reject''' | |'''[[OCLOperators reject|->reject]]''' | ||
|Returns the objects not matching the criteria | |Returns the objects not matching the criteria | ||
|- | |- | ||
|'''->select''' | |'''[[OCLOperators select|->select]]''' | ||
|Returns the objects matching the criteria | |Returns the objects matching the criteria | ||
|- | |- | ||
|'''->size''' | |'''[[OCLOperators size|->size]]''' | ||
|Returns the number of elements in the collection | |Returns the number of elements in the collection | ||
|- | |- | ||
|'''->subsequence''' | |'''[[OCLOperators subSequence|->subsequence]]''' | ||
|Returns a smaller collection from a start to stop | |Returns a smaller collection from a start to stop | ||
|- | |- | ||
|'''->symmetricDifference''' | |'''[[OCLOperators symmetricDifference|->symmetricDifference]]''' | ||
|The symmetric difference between the collections; ie all the objects in collection1 or collection2 but not in both | |The symmetric difference between the collections; ie all the objects in collection1 or collection2 but not in both | ||
|- | |- | ||
|'''->union''' | |'''[[OCLOperators union|->union]]''' | ||
|The set of objects in collection1 and objects in collection2 | |The set of objects in collection1 and objects in collection2 | ||
|} | |} | ||
== String operators == | |||
{| class="wikitable" | |||
!Operators | |||
!Description | |||
|- | |||
|[[Escape codes]] | |||
|Escape (special) characters used in OCL | |||
|- | |||
|[[OCLOperators StringToAnsiBase64|StringToAnsiBase64]] | |||
|Convert a string to an ANSI (1252) and as a base64 string | |||
|- | |||
|[[OCLOperators StringToEncodedBase64|StringToEncodedBase64]] | |||
|Convert a string to a specific encoding and as a base64 string. For example Western Eauropean (ISO) Codepage 28591 | |||
|} | |||
== Viewmodel operators (on selfVM variable) == | |||
See page [[SelfVM]] | |||
[[Category:OCL]] | |||
[[Category:Beginner]] | |||
[[Category:OCLOperators]] |
Revision as of 22:23, 24 February 2019
General operators
To find all available you can open the OCL-Editor and type in a class:
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 |
Collection operators
Once you have a collection of objects there are certain operators that are applicable to it.
See this page for examples on collection operators
Again you can use the OCL-Editor to see what they are:
Operators | Description |
---|---|
->any | Returns any element contained in self that validates the condition expr, null otherwise. |
->append | Add another object last |
->asBag | Collapses to one list |
->asSequence | Collapses to one list |
->asSet | Remove doublets |
->at | Get the objects at X where the first index is 1 |
->at0 | Get the objects at X where the first index is 0 |
->collect | Iterate over the collection and build a tuple result |
->count | Count how many meet a certain criteria |
->dictionary | Efficiently looks up values |
->difference | The difference between 2 collections |
->excluding | The collection except this single object |
->exists | Are there any objects that fulfill the criteria |
->filterOnType | Only keep the ones of a certain type |
->first | Return the first object |
->forAll | Iterate all that fulfills the critera |
->groupBy | Build collection of tuples grouped by some aspect |
->includes | Does the collection include the object |
->includesAll | Does the collection include the whole other collection |
->including | Returns the list with the element in the parameter included. |
->IndexOf | The 1 based index of an object in the collection possibly -1 if not existing |
->indexOf0 | The 0 based index of an object in the collection possibly -1 if not existing |
->intersection | The intersection of two collections |
->isEmpty | Returns true if the collection is empty |
->last | Returns the last object in the collection |
->notEmpty | Returns true of the collection is not empty |
->orderBy | Sorts the collection on one or more properties |
->orderDescending | Sort the from biggest to smallest |
->orderGeneric | Sorts the list of properties with interchangeable sort order: (expr1, OclSortDirection::ascending, expr2, OclSortDirection::descending...) |
->prepend | Add an object in front of the list |
->reject | Returns the objects not matching the criteria |
->select | Returns the objects matching the criteria |
->size | Returns the number of elements in the collection |
->subsequence | Returns a smaller collection from a start to stop |
->symmetricDifference | The symmetric difference between the collections; ie all the objects in collection1 or collection2 but not in both |
->union | The set of objects in collection1 and objects in collection2 |
String operators
Operators | Description |
---|---|
Escape codes | Escape (special) characters used in OCL |
StringToAnsiBase64 | Convert a string to an ANSI (1252) and as a base64 string |
StringToEncodedBase64 | Convert a string to a specific encoding and as a base64 string. For example Western Eauropean (ISO) Codepage 28591 |
Viewmodel operators (on selfVM variable)
See page SelfVM
This page was edited 106 days ago on 01/11/2024. What links here