<?xml version="1.0" encoding="Windows-1255" ?><Class name="Model" inherit="core.gml:Object" alias="model" hierarchy="GMLDOM" id="core.gml:Model" sort="21" urn="core.gml:core.Model.gs" toc="\Core"><Summary>Encapsulates the snapshot of the model currently held in memory.</Summary><Inherit>&lt;q ref=&quot;core.gml:Object&quot;&gt;Object&lt;/q&gt;</Inherit><Remarks>Instances of this class are created automatically by the system, and should
      not be created directly. To access the Model object that represents the currently
      open model use the &lt;q ref=&quot;core.env:Environment!model&quot;&gt;$ENV.model&lt;/q&gt; property.</Remarks><Copyright>(c) SAP AG 2003-2006. All rights reserved.</Copyright>
<Topics>
<Property name="channel" access="RO" type="env:GkbChannel!" typeRef="&lt;q ref=&quot;core.env:GkbChannel&quot;&gt;GkbChannel&lt;/q&gt;" sortGroup="true" scope="public" id="core.gml:Model!channel" sort="34" group="Properties" seq="0000"><Summary>Gets the channel for reading/writing the model.</Summary></Property>
<Property name="dirty" access="RO" type="Boolean" default="false" sortGroup="true" scope="public" id="core.gml:Model!dirty" sort="34" group="Properties" seq="0001"><Summary>Indicates whether the model is dirty.</Summary></Property>
<Property name="dynexp" access="RO" type="DynExpParser!" typeRef="&lt;q ref=&quot;core.gml:DynExpParser&quot;&gt;DynExpParser&lt;/q&gt;" sortGroup="true" scope="public" id="core.gml:Model!dynexp" sort="34" group="Properties" seq="0002"><Summary>Gets the model dynamic expressions parser.</Summary></Property>
<Property name="infoshape_pool" access="RO" type="InfoshapePool!" typeRef="&lt;q ref=&quot;core.gml:InfoshapePool&quot;&gt;InfoshapePool&lt;/q&gt;" sortGroup="true" scope="public" id="core.gml:Model!infoshape_pool" sort="34" group="Properties" seq="0003"><Summary>Gets the model's infoshape pool unit.</Summary></Property>
<Property name="isReadonly" access="RO" type="Object" default="null" sortGroup="true" scope="public" id="core.gml:Model!isReadonly" sort="34" group="Properties" seq="0004"><Summary>Gets whether the model is in readonly mode.</Summary></Property>
<Property name="name" access="RO" type="String" default="''" sortGroup="true" scope="public" id="core.gml:Model!name" sort="34" group="Properties" seq="0005"><Summary>Gets the model's name.</Summary></Property>
<Property name="organizer" access="RO" type="ModelOrganizer!" typeRef="&lt;q ref=&quot;core.gml:ModelOrganizer&quot;&gt;ModelOrganizer&lt;/q&gt;" sortGroup="true" scope="public" id="core.gml:Model!organizer" sort="34" group="Properties" seq="0006"><Summary>Gets the model organizer.</Summary></Property>
<Property name="propagator" access="RO" type="ChangeManager!" typeRef="&lt;q ref=&quot;core.gml:ChangeManager&quot;&gt;ChangeManager&lt;/q&gt;" sortGroup="true" scope="public" id="core.gml:Model!propagator" sort="34" group="Properties" seq="0007"><Summary>Gets the model change propagator.</Summary></Property>
<Property name="propsOrganizer" access="RO" type="dev:PropsOrganizer!" typeRef="&lt;q ref=&quot;core.dev:PropsOrganizer&quot;&gt;PropsOrganizer&lt;/q&gt;" sortGroup="true" scope="public" id="core.gml:Model!propsOrganizer" sort="34" group="Properties" seq="0008"><Summary>Gets the properties organizer.</Summary></Property>
<Property name="recorder" access="RO" type="ModelRecorder!" typeRef="&lt;q ref=&quot;core.gml:ModelRecorder&quot;&gt;ModelRecorder&lt;/q&gt;" sortGroup="true" scope="public" id="core.gml:Model!recorder" sort="34" group="Properties" seq="0009"><Summary>Gets the model recorder.</Summary></Property>
<Property name="reusables" access="RO" type="Module!" typeRef="&lt;q ref=&quot;core.gml:Module&quot;&gt;Module&lt;/q&gt;" sortGroup="true" scope="public" id="core.gml:Model!reusables" sort="34" group="Properties" seq="0010"><Summary>Gets the model's reusables unit.</Summary></Property>
<Property name="root" access="RO" type="Module!" typeRef="&lt;q ref=&quot;core.gml:Module&quot;&gt;Module&lt;/q&gt;" sortGroup="true" scope="public" id="core.gml:Model!root" sort="34" group="Properties" seq="0011"><Summary>Gets the model's root unit.</Summary></Property>
<Property name="serializer" access="RO" type="ModelSerializer!" typeRef="&lt;q ref=&quot;core.gml:ModelSerializer&quot;&gt;ModelSerializer&lt;/q&gt;" sortGroup="true" scope="public" id="core.gml:Model!serializer" sort="34" group="Properties" seq="0012"><Summary>Gets the model serializer.</Summary></Property>
<Property name="status" access="RO" type="String" default="''" sortGroup="true" scope="public" id="core.gml:Model!status" sort="34" group="Properties" seq="0013"><Summary>Gets the model's status.</Summary></Property>
<Property name="transporter" access="RO" type="env:ExportImportMgr!" typeRef="&lt;q ref=&quot;core.env:ExportImportMgr&quot;&gt;ExportImportMgr&lt;/q&gt;" sortGroup="true" scope="public" id="core.gml:Model!transporter" sort="34" group="Properties" seq="0014"><Summary>Gets the model transporter.</Summary></Property>
<Property name="urn" access="RO" type="String" default="''" sortGroup="true" scope="public" id="core.gml:Model!urn" sort="34" group="Properties" seq="0015"><Summary>Gets the model's urn.</Summary></Property>
<Method name="cloneElements" sortGroup="true" scope="public" id="core.gml:Model!cloneElements" sort="35" group="Methods" seq="0016"><Summary>Clones a given collection of elements.</Summary><Parameters signature="method:: &lt;i&gt;model&lt;/i&gt;.&lt;b&gt;cloneElements&lt;/b&gt;(&lt;i&gt;elements&lt;/i&gt;, &lt;i&gt;force&lt;/i&gt;, &lt;i&gt;elementsMap&lt;/i&gt;) &amp;rarr; &lt;q ref=&quot;core.gml:Element&quot;&gt;Element&lt;/q&gt;[id]"><Param name="elements" type="gml:Element[id]" typeRef="&lt;q ref=&quot;core.gml:Element&quot;&gt;Element&lt;/q&gt;[id]">The collection of elements to clone.</Param><Param name="force" type="gml:Element[id]" typeRef="&lt;q ref=&quot;core.gml:Element&quot;&gt;Element&lt;/q&gt;[id]"></Param><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 the new unit's children ID.</Param></Parameters><Return type="gml:Element[id]" typeRef="&lt;q ref=&quot;core.gml:Element&quot;&gt;Element&lt;/q&gt;[id]">Returns the collection of cloned elements.</Return><Remarks>Any inter-references that exist among the given collection of elements are reflected in the
      the cloned elements. All other object references are removed in the cloned elements.</Remarks></Method>
<Method name="createElement" sortGroup="true" scope="public" id="core.gml:Model!createElement" sort="35" group="Methods" seq="0017"><Summary>Creates a new model element.</Summary><Parameters signature="method:: &lt;i&gt;model&lt;/i&gt;.&lt;b&gt;createElement&lt;/b&gt;(&lt;i&gt;className&lt;/i&gt;, &lt;i&gt;values&lt;/i&gt;) &amp;rarr; &lt;q ref=&quot;core.gml:Element&quot;&gt;Element&lt;/q&gt;"><Param name="className" type="String">The element class name.</Param><Param name="values" default="" type="Variant[id]">A collection of property values for initializing the new element.</Param></Parameters><Return type="Element!" typeRef="&lt;q ref=&quot;core.gml:Element&quot;&gt;Element&lt;/q&gt;">The newly created element, or &lt;code&gt;null&lt;/code&gt; in case of any error.</Return><Remarks>&lt;p&gt;
         The element created by this method is not inserted into the model.
         Use the GmlObject's &lt;q ref=&quot;core.gml:TransObject!insertElement&quot;&gt;insertElement&lt;/q&gt; method to insert the new element into a parent object.
         Or, use the GmlObject's &lt;q ref=&quot;core.gml:TransObject!createElement&quot;&gt;createElement&lt;/q&gt; method to create an element and insert it into a parent object in a single step.
      &lt;/p&gt;&lt;p&gt;
         TIP: Prefer using this method to create composite elements. When creating a composite element,
         it is more efficient to create the element and its sub-elements off the model, before inserting the composite element to the model.
      &lt;/p&gt;</Remarks></Method>
<Method name="createUnit" sortGroup="true" scope="public" id="core.gml:Model!createUnit" sort="35" group="Methods" seq="0018"><Summary>Creates a new model unit.</Summary><Parameters signature="method:: &lt;i&gt;model&lt;/i&gt;.&lt;b&gt;createUnit&lt;/b&gt;(&lt;i&gt;className&lt;/i&gt;, &lt;i&gt;values&lt;/i&gt;) &amp;rarr; &lt;q ref=&quot;core.gml:Unit&quot;&gt;Unit&lt;/q&gt;"><Param name="className" type="String">The unit class name.</Param><Param name="values" default="" type="Variant[id]">A collection of property values for initializing the new unit.</Param></Parameters><Return type="Unit!" typeRef="&lt;q ref=&quot;core.gml:Unit&quot;&gt;Unit&lt;/q&gt;">The newly created unit, or &lt;code&gt;null&lt;/code&gt; in case of any error.</Return></Method>
<Method name="defineRuleHelper" sortGroup="true" scope="public" id="core.gml:Model!defineRuleHelper" sort="35" group="Methods" seq="0019"><Summary>Defines a rule helper function.</Summary><Parameters signature="method:: &lt;i&gt;model&lt;/i&gt;.&lt;b&gt;defineRuleHelper&lt;/b&gt;(&lt;i&gt;id&lt;/i&gt;, &lt;i&gt;funcName&lt;/i&gt;, &lt;i&gt;func&lt;/i&gt;) &amp;rarr; Boolean"><Param name="id" type="QName">The rule Id.</Param><Param name="funcName" type="String">The helper function name (should be unique within the scope of the rule).</Param><Param name="func" type="Function">The function object.</Param></Parameters><Return type="Boolean">Indicates whether the helper was successfully defined.</Return></Method>
<Method name="extendRule" sortGroup="true" scope="public" id="core.gml:Model!extendRule" sort="35" group="Methods" seq="0020"><Summary>Extends a rule by adding a new constrained behavior.</Summary><Parameters signature="method:: &lt;i&gt;model&lt;/i&gt;.&lt;b&gt;extendRule&lt;/b&gt;(&lt;i&gt;id&lt;/i&gt;, &lt;i&gt;def&lt;/i&gt;) &amp;rarr; void"><Param name="id" type="QName">The rule Id.</Param><Param name="def" type="env:KitRules!CONSTRAINT_DEF" typeRef="&lt;q ref=&quot;core.env:KitRules!CONSTRAINT_DEF&quot;&gt;CONSTRAINT_DEF&lt;/q&gt;">The constraint definition.</Param></Parameters><Return></Return></Method>
<Method name="getElement" sortGroup="true" scope="public" id="core.gml:Model!getElement" sort="35" group="Methods" seq="0021"><Summary>Gets a specified element.</Summary><Parameters label="Form 1" descr="" signature="method:: &lt;i&gt;model&lt;/i&gt;.&lt;b&gt;getElement&lt;/b&gt;(&lt;i&gt;unitId&lt;/i&gt;, &lt;i&gt;elemId&lt;/i&gt;) &amp;rarr; &lt;q ref=&quot;core.gml:Element&quot;&gt;Element&lt;/q&gt;"><Param name="unitId" type="String">The unit Id.</Param><Param name="elemId" type="String">The element Id (within the unit).</Param></Parameters><Parameters label="Form 2" descr="" signature="method:: &lt;i&gt;model&lt;/i&gt;.&lt;b&gt;getElement&lt;/b&gt;(&lt;i&gt;fullId&lt;/i&gt;) &amp;rarr; &lt;q ref=&quot;core.gml:Element&quot;&gt;Element&lt;/q&gt;"><Param name="fullId" type="String">The concatenated unit and element Ids, in the form: &lt;code&gt;unitId.elemId&lt;/code&gt;</Param></Parameters><Return type="Element!" typeRef="&lt;q ref=&quot;core.gml:Element&quot;&gt;Element&lt;/q&gt;">The requested element, or &lt;code&gt;null&lt;/code&gt; if not found.</Return><Remarks>Use the &lt;q ref=&quot;core.env:BaseChannel!error&quot;&gt;error&lt;/q&gt; property of the model's channel object to check for any errors.</Remarks></Method>
<Method name="getElementId" sortGroup="true" scope="public" id="core.gml:Model!getElementId" sort="35" group="Methods" seq="0022"><Summary>Gets an element Id.</Summary><Parameters label="Form 1" descr="" signature="method:: &lt;i&gt;model&lt;/i&gt;.&lt;b&gt;getElementId&lt;/b&gt;(&lt;i&gt;elementId&lt;/i&gt;) &amp;rarr; void"><Param name="elementId" type="String">The element Id.</Param></Parameters><Parameters label="Form 2" descr="" signature="method:: &lt;i&gt;model&lt;/i&gt;.&lt;b&gt;getElementId&lt;/b&gt;(&lt;i&gt;fullId&lt;/i&gt;) &amp;rarr; void"><Param name="fullId" type="String">The concatenated unit and element Ids, in the form: &lt;code&gt;unitId.elemId&lt;/code&gt;</Param></Parameters><Parameters label="Form 3" descr="" signature="method:: &lt;i&gt;model&lt;/i&gt;.&lt;b&gt;getElementId&lt;/b&gt;(&lt;i&gt;element&lt;/i&gt;) &amp;rarr; void"><Param name="element" type="Element!" typeRef="&lt;q ref=&quot;core.gml:Element&quot;&gt;Element&lt;/q&gt;">The element to get the id from.</Param></Parameters><Return></Return></Method>
<Method name="getFullId" sortGroup="true" scope="public" id="core.gml:Model!getFullId" sort="35" group="Methods" seq="0023"><Summary>Gets full object Id as a string, that can be used as a parameter of getElement method.</Summary><Parameters signature="method:: &lt;i&gt;model&lt;/i&gt;.&lt;b&gt;getFullId&lt;/b&gt;(&lt;i&gt;obj&lt;/i&gt;) &amp;rarr; String"><Param name="obj" type="GmlObject!" typeRef="&lt;q ref=&quot;core.gml:GmlObject&quot;&gt;GmlObject&lt;/q&gt;">GmlObject instance.</Param></Parameters><Return type="String">Returns full object Id.</Return></Method>
<Method name="getRootUnits" sortGroup="true" scope="public" id="core.gml:Model!getRootUnits" sort="35" group="Methods" seq="0024"><Summary>Gets units, loading them if needed.</Summary><Parameters signature="method:: &lt;i&gt;model&lt;/i&gt;.&lt;b&gt;getRootUnits&lt;/b&gt;(&lt;i&gt;id&lt;/i&gt;) &amp;rarr; &lt;q ref=&quot;core.gml:Unit&quot;&gt;Unit&lt;/q&gt;"><Param name="id" type="String">Array of ids of the units to get.</Param></Parameters><Return type="Unit!" typeRef="&lt;q ref=&quot;core.gml:Unit&quot;&gt;Unit&lt;/q&gt;">Array of requested units, or &lt;code&gt;null&lt;/code&gt; if not found.</Return><Remarks>Use the &lt;q ref=&quot;core.env:BaseChannel!error&quot;&gt;error&lt;/q&gt; property of the model's channel object to check for any errors.</Remarks></Method>
<Method name="getUnit" sortGroup="true" scope="public" id="core.gml:Model!getUnit" sort="35" group="Methods" seq="0025"><Summary>Gets a specified unit, loading it if needed.</Summary><Parameters signature="method:: &lt;i&gt;model&lt;/i&gt;.&lt;b&gt;getUnit&lt;/b&gt;(&lt;i&gt;id&lt;/i&gt;) &amp;rarr; &lt;q ref=&quot;core.gml:Unit&quot;&gt;Unit&lt;/q&gt;"><Param name="id" type="String">The id of the unit to get.</Param></Parameters><Return type="Unit!" typeRef="&lt;q ref=&quot;core.gml:Unit&quot;&gt;Unit&lt;/q&gt;">The requested unit, or &lt;code&gt;null&lt;/code&gt; if not found.</Return><Remarks>Use the &lt;q ref=&quot;core.env:BaseChannel!error&quot;&gt;error&lt;/q&gt; property of the model's channel object to check for any errors.</Remarks></Method>
<Method name="isEditable" sortGroup="true" scope="public" id="core.gml:Model!isEditable" sort="35" group="Methods" seq="0026"><Summary>Indicates whether the model is editable.</Summary><Parameters signature="method:: &lt;i&gt;model&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 model is editable, and &lt;code&gt;false&lt;/code&gt; when it is readonly.</Return></Method>
<Method name="isFullId" sortGroup="true" scope="public" id="core.gml:Model!isFullId" sort="35" group="Methods" seq="0027"><Summary>Checks whether the given ID is a full id, i.e. it has the format &lt;code&gt;unit-id.element-id&lt;/code&gt;</Summary><Parameters signature="method:: &lt;i&gt;model&lt;/i&gt;.&lt;b&gt;isFullId&lt;/b&gt;(&lt;i&gt;id&lt;/i&gt;) &amp;rarr; Boolean"><Param name="id" type="String">id of an object.</Param></Parameters><Return type="Boolean">&lt;code&gt;true&lt;/code&gt; if the id is a full id.</Return></Method>
<Method name="parseFullId" sortGroup="true" scope="public" id="core.gml:Model!parseFullId" sort="35" group="Methods" seq="0028"><Summary>Parse the given full ID.</Summary><Parameters signature="method:: &lt;i&gt;model&lt;/i&gt;.&lt;b&gt;parseFullId&lt;/b&gt;(&lt;i&gt;id&lt;/i&gt;) &amp;rarr; []"><Param name="id" type="String">Full id of an element.</Param></Parameters><Return type="[]">return an Array in which the first item is the unit ID and the second is  the element ID.</Return></Method>
<Method name="save" sortGroup="true" scope="public" id="core.gml:Model!save" sort="35" group="Methods" seq="0029"><Summary>Saves all changes to the model.</Summary><Parameters signature="method:: &lt;i&gt;model&lt;/i&gt;.&lt;b&gt;save&lt;/b&gt;(&lt;i&gt;wait&lt;/i&gt;) &amp;rarr; Boolean"><Param name="wait" type="Boolean" default="false">Indicates whether to wait for the save operation to complete before returning.</Param></Parameters><Return type="Boolean">Returns &lt;code&gt;true&lt;/code&gt; iff the model was saved successfully; otherwise, returns &lt;code&gt;false&lt;/code&gt;</Return></Method>
</Topics>
</Class>