<?xml version="1.0" encoding="Windows-1255" ?><Class name="Unit" inherit="core.gml:TransObject" implement="core.dev:IInfosetEnumerator" alias="unit" hierarchy="GMLDOM" id="core.gml:Unit" sort="21" urn="core.gml:diagrams.Unit.gs" toc="\Diagrams"><Summary>The Unit is the basic organizational unit in GML, enabling modularity and reusability.</Summary><Inherit>&lt;q ref=&quot;core.gml:TransObject&quot;&gt;TransObject&lt;/q&gt;</Inherit><Implement>&lt;q ref=&quot;core.dev:IInfosetEnumerator&quot;&gt;IInfosetEnumerator&lt;/q&gt;</Implement><Remarks>&lt;ul&gt;&lt;li&gt;A GML model is always made of a collection of one or more GML units, referenced by unique identifiers. &lt;/li&gt;&lt;li&gt;A GML unit, in turn, is made of a collection of one or more GML elements, referenced by unique identifiers. &lt;/li&gt;&lt;li&gt;The GML unit is also the basic unit for persistance and for communication. When a model is read, saved, or transported, it is always done by whole units. &lt;/li&gt;&lt;li&gt;A GML unit may be presented to the user using different design boards. &lt;/li&gt;&lt;/ul&gt;</Remarks><Copyright>(c) SAP AG 2003-2006. All rights reserved.</Copyright>
<Topics>
<Property name="deleted" virtual="Yes" access="RO" type="Boolean" default="false" modifier="virtual" sortGroup="true" scope="public" id="core.gml:Unit!deleted" sort="34" group="Properties" seq="0000"><Summary>Indicates whether the unit is deleted (has been removed from the model since last open).</Summary></Property>
<Property name="dirty" virtual="Yes" access="RO" type="Boolean" default="false" modifier="virtual" sortGroup="true" scope="public" id="core.gml:Unit!dirty" sort="34" group="Properties" seq="0001"><Summary>Indicates whether the unit is dirty (has been changed since last save).</Summary></Property>
<Property name="elements" strong="Yes" access="RO" type="Element![id]" modifier="strong" typeRef="&lt;q ref=&quot;core.gml:Element&quot;&gt;Element&lt;/q&gt;[id]" sortGroup="true" scope="public" id="core.gml:Unit!elements" sort="34" group="Properties" seq="0002"><Summary>Gets the collection of all elements directly owned by this unit (non-recursive).</Summary></Property>
<Property name="model" virtual="Yes" access="RO" type="Model!" modifier="virtual" typeRef="&lt;q ref=&quot;core.gml:Model&quot;&gt;Model&lt;/q&gt;" sortGroup="true" scope="public" id="core.gml:Unit!model" sort="34" group="Properties" seq="0003"><Summary>Gets the model that owns this unit.</Summary></Property>
<Property name="modified" access="RO" type="String" default="''" sortGroup="true" scope="public" id="core.gml:Unit!modified" sort="34" group="Properties" seq="0004"><Summary>Gets the last unit modification date (in string representation).</Summary></Property>
<Property name="resources" strong="Yes" access="RO" type="Resource![id]" modifier="strong" typeRef="&lt;q ref=&quot;core.gml:Resource&quot;&gt;Resource&lt;/q&gt;[id]" sortGroup="true" scope="public" id="core.gml:Unit!resources" sort="34" group="Properties" seq="0005"><Summary>Holds resoureces such as translations table.</Summary></Property>
<Property name="version" access="RO" type="String" default="''" sortGroup="true" scope="public" id="core.gml:Unit!version" sort="34" group="Properties" seq="0006"><Summary>Gets the unit version number.</Summary></Property>
<Method name="canActivate" sortGroup="true" scope="public" id="core.gml:Unit!canActivate" sort="35" group="Methods" seq="0007"><Summary>Determines whether the object can be drilled into or not.</Summary><Parameters signature="method:: &lt;i&gt;unit&lt;/i&gt;.&lt;b&gt;canActivate&lt;/b&gt;() &amp;rarr; Boolean"></Parameters><Return type="Boolean">True if the unit can be drilled into.</Return></Method>
<Method name="clone" sortGroup="true" scope="public" id="core.gml:Unit!clone" sort="35" group="Methods" seq="0008"><Summary>Performs a deep copy of this unit's properties and elements.</Summary><Parameters signature="method:: &lt;i&gt;unit&lt;/i&gt;.&lt;b&gt;clone&lt;/b&gt;(&lt;i&gt;elementsMap&lt;/i&gt;) &amp;rarr; GmlObject"><Param name="elementsMap" type="gml:Element[id]" typeRef="&lt;q ref=&quot;core.gml:Element&quot;&gt;Element&lt;/q&gt;[id]">A collection that maps the 'old unit's children  ID to a new unit's children ID.</Param></Parameters><Return type="GmlObject">The newly cloned unit.</Return></Method>
<Method name="createNewUsage" sortGroup="true" scope="public" id="core.gml:Unit!createNewUsage" sort="35" group="Methods" seq="0009"><Summary>Creates a new usage object that is pointing to this unit. This usage is not inserted in the model yet.</Summary><Parameters signature="method:: &lt;i&gt;unit&lt;/i&gt;.&lt;b&gt;createNewUsage&lt;/b&gt;(&lt;i&gt;usageValues&lt;/i&gt;) &amp;rarr; &lt;q ref=&quot;core.gml:Usage&quot;&gt;Usage&lt;/q&gt;"><Param name="usageValues" default="" type="Variant[id]">A collection of property values for initializing the new unit usage.</Param></Parameters><Return type="gml:Usage!" typeRef="&lt;q ref=&quot;core.gml:Usage&quot;&gt;Usage&lt;/q&gt;">The new usage for this unit.</Return></Method>
<Method name="createUnit" sortGroup="true" scope="public" id="core.gml:Unit!createUnit" sort="35" group="Methods" seq="0010"><Summary>Creates a new unit and inserts a corresponding unit usage into this unit.</Summary><Parameters signature="method:: &lt;i&gt;unit&lt;/i&gt;.&lt;b&gt;createUnit&lt;/b&gt;(&lt;i&gt;className&lt;/i&gt;, &lt;i&gt;unitValues&lt;/i&gt;, &lt;i&gt;usageValues&lt;/i&gt;) &amp;rarr; &lt;q ref=&quot;core.gml:Usage&quot;&gt;Usage&lt;/q&gt;"><Param name="className" type="String">The unit class name.</Param><Param name="unitValues" default="" type="Variant[id]">A collection of property values for initializing the new unit.</Param><Param name="usageValues" default="" type="Variant[id]">A collection of property values for initializing the new unit usage.</Param></Parameters><Return type="gml:Usage!" typeRef="&lt;q ref=&quot;core.gml:Usage&quot;&gt;Usage&lt;/q&gt;">The usage of the newly created unit, or &lt;code&gt;null&lt;/code&gt; in case of any error.</Return></Method>
<Method name="getChildUnits" sortGroup="true" scope="public" id="core.gml:Unit!getChildUnits" sort="35" group="Methods" seq="0011"><Summary>Gets a collection of all the child units of the current unit.</Summary><Parameters signature="method:: &lt;i&gt;unit&lt;/i&gt;.&lt;b&gt;getChildUnits&lt;/b&gt;(&lt;i&gt;type&lt;/i&gt;) &amp;rarr; &lt;q ref=&quot;core.gml:Unit&quot;&gt;Unit&lt;/q&gt;[id]"><Param name="type" type="gml:Unit!UNIT_TYPES!" typeRef="&lt;q ref=&quot;core.gml:Unit!UNIT_TYPES&quot;&gt;UNIT_TYPES&lt;/q&gt;!">specify reusable or not reusable units.</Param></Parameters><Return type="gml:Unit![id]" typeRef="&lt;q ref=&quot;core.gml:Unit&quot;&gt;Unit&lt;/q&gt;[id]">The requested units collection.</Return><Remarks>if &lt;q ref=&quot;core.gml:Unit&quot;&gt;Unit&lt;/q&gt; is omitted then all child units are returned.</Remarks></Method>
<Method name="getConnectablePlugs" sortGroup="true" scope="public" id="core.gml:Unit!getConnectablePlugs" sort="35" group="Methods" seq="0012"><Summary>Gets the table of all element plugs that can be connected to a given plug.</Summary><Parameters signature="method:: &lt;i&gt;unit&lt;/i&gt;.&lt;b&gt;getConnectablePlugs&lt;/b&gt;(&lt;i&gt;plug&lt;/i&gt;) &amp;rarr; &lt;q ref=&quot;core.gml:Plug&quot;&gt;Plug&lt;/q&gt;[id]"><Param name="plug" type="gml:Plug!" typeRef="&lt;q ref=&quot;core.gml:Plug&quot;&gt;Plug&lt;/q&gt;">The plug to query. It can be either an source plug or a target plug.</Param></Parameters><Return type="gml:Plug![id]" typeRef="&lt;q ref=&quot;core.gml:Plug&quot;&gt;Plug&lt;/q&gt;[id]">The table of plugs that can be connected to the given plug, or &lt;code&gt;null&lt;/code&gt; in case no valid target plugs were found.</Return></Method>
<Method name="getDependents" sortGroup="true" scope="public" id="core.gml:Unit!getDependents" sort="35" group="Methods" seq="0013"><Summary>Gets the collection of units that reference this unit (and thus depend on it).</Summary><Parameters signature="method:: &lt;i&gt;unit&lt;/i&gt;.&lt;b&gt;getDependents&lt;/b&gt;() &amp;rarr; &lt;q ref=&quot;core.gml:Unit&quot;&gt;Unit&lt;/q&gt;[id]"></Parameters><Return type="gml:Unit![id]" typeRef="&lt;q ref=&quot;core.gml:Unit&quot;&gt;Unit&lt;/q&gt;[id]">The requested units collection.</Return></Method>
<Method name="getInfosetList" sortGroup="true" scope="public" id="core.gml:Unit!getInfosetList" sort="35" group="Methods" seq="0014"><Summary>Gets a flat list of infosets
   The list can contain interactor/ports/plugs as infoset IDs.</Summary><Parameters signature="method:: &lt;i&gt;unit&lt;/i&gt;.&lt;b&gt;getInfosetList&lt;/b&gt;(&lt;i&gt;deep&lt;/i&gt;) &amp;rarr; &lt;q ref=&quot;core.dev:IInfoset&quot;&gt;IInfoset&lt;/q&gt;[id]"><Param name="deep" type="Boolean">Indicates whether to perform a deep search.</Param></Parameters><Return type="dev:IInfoset![id]" typeRef="&lt;q ref=&quot;core.dev:IInfoset&quot;&gt;IInfoset&lt;/q&gt;[id]">Collection of &lt;q ref=&quot;core.dev:IInfoset&quot;&gt;IInfoset&lt;/q&gt; elements.</Return></Method>
<Method name="getInfosetTree" sortGroup="true" scope="public" id="core.gml:Unit!getInfosetTree" sort="35" group="Methods" seq="0015"><Summary>Gets a tree of infosets.</Summary><Parameters signature="method:: &lt;i&gt;unit&lt;/i&gt;.&lt;b&gt;getInfosetTree&lt;/b&gt;() &amp;rarr; &lt;q ref=&quot;core.lib:TreeView!provider&quot;&gt;provider&lt;/q&gt;"></Parameters><Return type="lib:TreeView!provider" typeRef="&lt;q ref=&quot;core.lib:TreeView!provider&quot;&gt;provider&lt;/q&gt;">Tree provider of the infosets.</Return></Method>
<Method name="getParent" sortGroup="true" scope="public" id="core.gml:Unit!getParent" sort="35" group="Methods" seq="0016"><Summary>Gets the parent unit of the current unit.</Summary><Parameters signature="method:: &lt;i&gt;unit&lt;/i&gt;.&lt;b&gt;getParent&lt;/b&gt;() &amp;rarr; &lt;q ref=&quot;core.gml:Unit&quot;&gt;Unit&lt;/q&gt;"></Parameters><Return type="gml:Unit!" typeRef="&lt;q ref=&quot;core.gml:Unit&quot;&gt;Unit&lt;/q&gt;">Returns the parent unit, or &lt;code&gt;null&lt;/code&gt; in the case this is root unit.</Return></Method>
<Method name="getPrecedents" sortGroup="true" scope="public" id="core.gml:Unit!getPrecedents" sort="35" group="Methods" seq="0017"><Summary>Gets the collection of units that are referenced by this unit (and thus precede it).</Summary><Parameters signature="method:: &lt;i&gt;unit&lt;/i&gt;.&lt;b&gt;getPrecedents&lt;/b&gt;() &amp;rarr; &lt;q ref=&quot;core.gml:Unit&quot;&gt;Unit&lt;/q&gt;[id]"></Parameters><Return type="gml:Unit![id]" typeRef="&lt;q ref=&quot;core.gml:Unit&quot;&gt;Unit&lt;/q&gt;[id]">The requested units collection.</Return></Method>
<Method name="getUsages" sortGroup="true" scope="public" id="core.gml:Unit!getUsages" sort="35" group="Methods" seq="0018"><Summary>Gets the collection of all usage elements that point to this unit.</Summary><Parameters signature="method:: &lt;i&gt;unit&lt;/i&gt;.&lt;b&gt;getUsages&lt;/b&gt;() &amp;rarr; &lt;q ref=&quot;core.gml:Usage&quot;&gt;Usage&lt;/q&gt;[key]"></Parameters><Return type="gml:Usage![key]" typeRef="&lt;q ref=&quot;core.gml:Usage&quot;&gt;Usage&lt;/q&gt;[key]">The usages collection, indexed by usage key.</Return></Method>
<Method name="hasChildUnits" sortGroup="true" scope="public" id="core.gml:Unit!hasChildUnits" sort="35" group="Methods" seq="0019"><Summary>Provides a method for checking whether a given unit has any child-units.</Summary><Parameters signature="method:: &lt;i&gt;unit&lt;/i&gt;.&lt;b&gt;hasChildUnits&lt;/b&gt;(&lt;i&gt;type&lt;/i&gt;) &amp;rarr; Boolean"><Param name="type" type="gml:Unit!UNIT_TYPES!" typeRef="&lt;q ref=&quot;core.gml:Unit!UNIT_TYPES&quot;&gt;UNIT_TYPES&lt;/q&gt;!">specify reusable or not reusable units.</Param></Parameters><Return type="Boolean">return &lt;code&gt;true&lt;/code&gt; iff the unit has child units.</Return></Method>
<Method name="isEditable" sortGroup="true" scope="public" id="core.gml:Unit!isEditable" sort="35" group="Methods" seq="0020"><Summary>Indicates whether the unit is editable.</Summary><Parameters signature="method:: &lt;i&gt;unit&lt;/i&gt;.&lt;b&gt;isEditable&lt;/b&gt;() &amp;rarr; Boolean"></Parameters><Return type="Boolean">Returns &lt;code&gt;true&lt;/code&gt; when the unit is editable, and &lt;code&gt;false&lt;/code&gt; when it is readonly.</Return></Method>
<Method name="isReusable" sortGroup="true" scope="public" id="core.gml:Unit!isReusable" sort="35" group="Methods" seq="0021"><Summary>Tests whether the unit is a reusable unit.</Summary><Parameters signature="method:: &lt;i&gt;unit&lt;/i&gt;.&lt;b&gt;isReusable&lt;/b&gt;() &amp;rarr; Boolean"></Parameters><Return type="Boolean">Return &lt;code&gt;true&lt;/code&gt; iff the unit is a reusable unit.</Return></Method>
<Enumeration name="UNIT_TYPES" sortGroup="true" id="core.gml:Unit!UNIT_TYPES" sort="42" group="Enumerations" seq="0022"><Summary>An enumeration of the unit types.</Summary><Remarks>&lt;table class=&quot;VERT&quot;&gt;&lt;tr&gt;&lt;td class=&quot;H V&quot;&gt;REUSABLE &lt;/td&gt;&lt;td class=H&gt;Reusable unit &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class=V&gt;NOT_REUSABLE &lt;/td&gt;&lt;td&gt;Not reusable unit &lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</Remarks></Enumeration>
</Topics>
</Class>