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.
conformsTo
OclAny
Attributes
OclElement : Bag(OclElement[*|?])
OclElement : Bag(OclElement[*|?])
oclContents : Set(OclElement)
The composed contents of self.
Associations
oclContainer : OclElement[?]
The object for which self is a composed content or null if there is no such object.
Operations
allInstances() : Set(OclSelf)
Return a set of all instances of the type and derived types of self.
oclAsModelType(TT)(type : TT[?]) : TT[1] invalidating
Evaluates to
self
, where
self
is of the model type identified by
TT
.
Most model elements have metamodel types for use with oclAsType, but no model type and so the return is
invalid
.
Model elements such as UML’s InstnaceSpecification that do support distinct model and metamodel types return
self
with the cast type
TT
that may be used for further navigation.
If the actual model type of
self
at evaluation time does not conform to
TT
,
then the oclAsType operation evaluates to
invalid
.
If
self
is a multiply classified instance, the current classification used for OCL navigation
is changed to the classification to which
TT
conforms. The oclAsModelType call is not well-formed if
the classification is ambiguous.
post IsSelf: result = self
oclContainer() : OclElement[?]
Returns the object for which self is a composed content or null if there is no such object.
oclContents() : Set(OclElement)
Returns the composed contents of self.
oclIsModelKindOf(type : OclType[?]) : Boolean[1]
Evaluates to
true
if the type of
self
conforms to the model type
type
.
That is,
self
is of type
type
or a subtype of
type
.
The return is normally
false
since few model elements have model types. UML’s InstanceSpecification::classifier provides
a multiple classification for a model type.
oclModelType() : OclSelf[1]
Evaluates to the most derived model type of which
self
is currently an instance. If
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
oclAsModelType()
call.
The return is normally
invalid
since few model elements have model types. UML’s InstanceSpecification::classifier provides
a multiple classification for a model type.
oclModelTypes() : Set(OclSelf[*|?])
Evaluates to all of the most derived model types of which
self
is an instance. The return from
oclModelTypes()
is normally equivalent to that from
oclModelType()
unless
self
is an instance of multiply classified model type.
The return is normally
invalid
since few model elements have model types. UML’s InstanceSpecification::classifier provides
a multiple classification for a model type.