| <html> | |
| <head> | |
| <META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> | |
| <title>OclElement</title> | |
| <link href="book.css" rel="stylesheet" type="text/css"> | |
| <meta content="DocBook XSL Stylesheets V1.75.1" name="generator"> | |
| <link rel="home" href="index.html" title="OCL Documentation"> | |
| <link rel="up" href="StandardLibrary.html" title="The OCL Standard Library"> | |
| <link rel="prev" href="OclComparable.html" title="OclComparable"> | |
| <link rel="next" href="OclEnumeration.html" title="OclEnumeration"> | |
| </head> | |
| <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> | |
| <h1 xmlns:l="http://docbook.sourceforge.net/xmlns/l10n/1.0"> | |
| OclElement | |
| </h1> | |
| <div class="section" title="OclElement"> | |
| <div class="titlepage"> | |
| <div> | |
| <div> | |
| <h2 class="title" style="clear: both"> | |
| <a name="OclElement"></a> | |
| <span class="bold"><strong> | |
| <code class="code">OclElement</code> | |
| </strong></span> | |
| </h2> | |
| </div> | |
| </div> | |
| </div> | |
| <p>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.</p> | |
| <p>conformsTo | |
| <a class="link" href="OclAny.html" title="OclAny"> | |
| <code class="code">OclAny</code> | |
| </a> | |
| </p> | |
| <p> | |
| <span class="bold"><strong>Attributes</strong></span> | |
| </p> | |
| <p> | |
| <code class="code">OclElement : Bag(OclElement)</code> | |
| </p> | |
| <p> | |
| <code class="code">OclElement : Bag(OclElement)</code> | |
| </p> | |
| <p> | |
| <code class="code">oclContents : Set(OclElement)[*|1]</code> | |
| </p> | |
| <p>The composed contents of self.</p> | |
| <p> | |
| <span class="bold"><strong>Associations</strong></span> | |
| </p> | |
| <p> | |
| <code class="code">oclContainer : OclElement[?]</code> | |
| </p> | |
| <p>The object for which self is a composed content or null if there is no such object.</p> | |
| <p> | |
| <span class="bold"><strong>Operations</strong></span> | |
| </p> | |
| <p> | |
| <code class="code">allInstances() : Set(OclSelf)[*|1]</code> | |
| </p> | |
| <p>Return a set of all instances of the type and derived types of self.</p> | |
| <p> | |
| <code class="code">oclAsModelType(TT)(type : TT[?]) : TT[1] invalidating</code> | |
| </p> | |
| <p>Evaluates to | |
| <code class="code">self</code>, where | |
| <code class="code">self</code> is of the model type identified by | |
| <code class="code">TT</code>. | |
| </p> | |
| <p>Most model elements have metamodel types for use with oclAsType, but no model type and so the return is | |
| <code class="code">invalid</code>. | |
| </p> | |
| <p>Model elements such as UML’s InstnaceSpecification that do support distinct model and metamodel types return | |
| <code class="code">self</code> | |
| with the cast type | |
| <code class="code">TT</code> that may be used for further navigation. | |
| If the actual model type of | |
| <code class="code">self</code> at evaluation time does not conform to | |
| <code class="code">TT</code>, | |
| then the oclAsType operation evaluates to | |
| <code class="code">invalid</code>. | |
| </p> | |
| <p>If | |
| <code class="code">self</code> is a multiply classified instance, the current classification used for OCL navigation | |
| is changed to the classification to which | |
| <code class="code">TT</code> conforms. The oclAsModelType call is not well-formed if | |
| the classification is ambiguous. | |
| </p> | |
| <div class="literallayout"> | |
| <p> | |
| <code class="code">post IsSelf: result = self<br> | |
| </code> | |
| </p> | |
| </div> | |
| <p></p> | |
| <p> | |
| <code class="code">oclContainer() : OclElement[?]</code> | |
| </p> | |
| <p>Returns the object for which self is a composed content or null if there is no such object.</p> | |
| <p> | |
| <code class="code">oclContents() : Set(OclElement)[*|1]</code> | |
| </p> | |
| <p>Returns the composed contents of self.</p> | |
| <p> | |
| <code class="code">oclIsModelKindOf(type : OclType[?]) : Boolean[1]</code> | |
| </p> | |
| <p>Evaluates to | |
| <code class="code">true</code> if the type of | |
| <code class="code">self</code> conforms to the model type | |
| <code class="code">type</code>. | |
| That is, | |
| <code class="code">self</code> is of type | |
| <code class="code">type</code> or a subtype of | |
| <code class="code">type</code>. | |
| </p> | |
| <p>The return is normally | |
| <code class="code">false</code> since few model elements have model types. UML’s InstanceSpecification::classifier provides | |
| a multiple classification for a model type. | |
| </p> | |
| <p> | |
| <code class="code">oclModelType() : OclSelf[1]</code> | |
| </p> | |
| <p>Evaluates to the most derived model type of which | |
| <code class="code">self</code> is currently an instance. If | |
| <code class="code">self</code> 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 | |
| <code class="code">oclAsModelType()</code> call. | |
| </p> | |
| <p>The return is normally | |
| <code class="code">invalid</code> since few model elements have model types. UML’s InstanceSpecification::classifier provides | |
| a multiple classification for a model type. | |
| </p> | |
| <p> | |
| <code class="code">oclModelTypes() : Set(OclSelf)</code> | |
| </p> | |
| <p>Evaluates to all of the most derived model types of which | |
| <code class="code">self</code> is an instance. The return from | |
| <code class="code">oclModelTypes()</code> | |
| is normally equivalent to that from | |
| <code class="code">oclModelType()</code> unless | |
| <code class="code">self</code> is an instance of multiply classified model type. | |
| </p> | |
| <p>The return is normally | |
| <code class="code">invalid</code> since few model elements have model types. UML’s InstanceSpecification::classifier provides | |
| a multiple classification for a model type. | |
| </p> | |
| </div> | |
| </body> | |
| </html> |