Transactional implementation of GmlObject.
Instances of TransObject or any of its derived classes are persistent objects that are managed using transactions.<q ref="core.gml:GmlObject">GmlObject</q>To create instances of TransObject or any of its sub-classes, use respective GMLDOM methods.
Do not use constructors for initializing instances of TransObject.(c) SAP AG 2003-2006. All rights reserved.
Gets or sets the object notes.
Gets or sets the property name at the parent object.
Gets or sets the role of object in the current unit.
Gets or sets the stereotype tags.
A helper method for assigning a value to a strong property.
Only use this method from inside <code>insertElement</code> and other core functions !.
Tests whether this object contains a given child object.The child object to test.The test result.
Creates a new element and inserts it under this object.The element class name.The property name into which this child will be assigned.A collection of property values for initializing the new element.Integer that specifies the placement of the new element.
If this parameter is specified, the child element will be inserted immediately before the specified index.
This parameter is only relevent to properties of type vector.The newly created element, or <code>null</code> in case of any error.This method is sealed and cannot be overridden on sub-classes. If needed, you can override the <q ref="core.gml:GmlObject!onCreate">onCreate</q> callback method to extend the creation operation.
Gets a collection of child elements by a specified type.The class of elements to get.Indicates whether to perform a deep search.The requested child elements collection.By default this method will search only the immediate child elements. To search
all descendant elements, regardless of their nesting depth, set the <code>deep</code> parameter to <code>true.</code>
Gets a child element by Id.The Id of the child element to get.Indicates whether to perform a deep search.The requested child element.By default this method will search only the immediate child elements. To search
all descendant elements, regardless of their nesting depth, set the <code>deep</code> parameter to <code>true.</code>
Inserts a given element under this object.The child element to insert.The property name to insert the child element to. (Must be a property marked as 'strong').Integer that specifies the placement of the new element.
If this parameter is specified, the child element will be inserted immediately before the specified index.
This parameter is only relevent to properties of type vector.Indicates whether the element was successfully inserted.<ol><li>This method is sealed and cannot be overridden on sub-classes. If needed, you can override the <q ref="core.gml:TransObject!onInsert">onInsert</q> and onInsertMe callback method to extend the insertion operation. </li><li>If the child element already belongs to another parent object, then it will be removed from the old parent as part of this operation. </li><li>This method always results in a single transaction, even if the inserted child is a composite element. The composite element and its sub-elements implicitly belong to the same transaction, and do not contribute separate transaction steps. Similarly, notification events are raised only on the composite element, and not on any of its sub-elements. </li><li>TIP: 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 (see Model's <q ref="core.gml:Model!createElement">createElement</q> method). </li></ol>
Handler method for cloning operation: default implementation copies all
properties and clones all children.This parameter is an [OUT] parameter and passed byref: Map of the newly created objects used to fix object references.
This map should be populated with newly created objects for any depth of children created indirectly by this clone operation.
The ID used for this map should be of the old object from which the new one was cloned.Parent object of the newly cloned object.The newly cloned object.This method should not be called directly as it does not handle all aspects of the clone operation as fixing
references, initialization of the cloned objects and after clone ooperations needed to complete this action.
Instead, to clone an object you should either call Model's <q ref="core.gml:Model!cloneElements">cloneElements</q> method or ObjectSet->ObjectSet!clone method.
When overriding this method, one should consider that only at the time of GmlObject!onAfterClone method, the object's properties
are set properly after fixing references and initializing the object.
A callback method that is invoked when a child object is inserted into this object.The child object that was inserted.The transaction context.Use the <code>trans</code> argument to determine the context under which this method was invoked.
This method can be invoked as a result of doing or redoing an insertion transaction or as
a result of undoing a removal transaction.
The method is invoked before any notification events are raised.
Override this method to create or update dependant model objects, as needed.
A callback method that is invoked when a this object is inserted into a paernt object.The parent object that this object was inserted to.The transaction context.<ol><li>This callback is always called after the <q ref="core.gml:TransObject!onInsert">onInsert</q> callback was called for the parent </li><li>Use the <code>trans</code> argument to determine the context under which this method was invoked. </li><li>This method can be invoked as a result of doing or redoing an insertion transaction or as a result of undoing a removal transaction. </li><li>The method is invoked before any notification events are raised. </li><li>Override this method to create or update dependant model objects, as needed. </li></ol>
A callback method that is invoked when an object is notified regarding the change of the model.The event object which describes the model's change.The specific object instance is notified when it potentially can be affected by the model's change.
Here is the list of the propagated events:
<table class="VERT"><tr><td class="H V"><q ref="core.gml:TransObject!onInsertElement">onInsertElement</q> </td><td class=H><q ref="core.gml:Port">Port</q>, <q ref="core.gml:Connectable">Connectable</q>, <q ref="core.gml:Link">Link</q> </td></tr><tr><td class=V><q ref="core.gml:TransObject!onRemoveElement">onRemoveElement</q> </td><td><q ref="core.gml:Port">Port</q>, <q ref="core.gml:Connectable">Connectable</q>, <q ref="core.gml:Link">Link</q> </td></tr></table>
A callback method that is invoked when a child object is removed from this object.The child object that was removed.The transaction context.<ol><li>Use the <code>trans</code> argument to determine the context under which this method was invoked. </li><li>This method can be invoked as a result of doing or redoing a removal transaction or as </li><li>a result of undoing an insertion transaction. </li><li>The method is invoked before any notification events are raised. </li><li>Override this method to create or update dependant model objects, as needed. </li></ol>
A callback method that is invoked when a this object is removed from its parent object.The parent object that this object was removed from.The transaction context.<ol><li>This callback is always called after the <q ref="core.gml:TransObject!onRemove">onRemove</q> callback was called for the parent. </li><li>Use the <code>trans</code> argument to determine the context under which this method was invoked. </li><li>This method can be invoked as a result of doing or redoing a removal transaction or as a result of undoing an insertion transaction. </li><li>The method is invoked before any notification events are raised. </li><li>Override this method to create or update dependant model objects, as needed. </li></ol>
Removes a child element from this object.The child element to remove.The property name to remove the child element from. (Must be a property marked as 'strong').The Id of the child element to remove.The property name to remove the child element from. (Must be a property marked as 'strong').Indicates whether the child element was successfully removed.<ol><li>The given child element must be contained in the <code>prop_name</code> property of this object </li><li>This method is sealed and cannot be overridden on sub-classes. If needed, you can override the <q ref="core.gml:TransObject!onRemove">onRemove</q> callback method to extend the removal operation. </li><li>This method always results in a single transaction, even if the removed child is a composite element. The composite element and its sub-elements implicitly belong to the same transaction, and do not contribute separate transaction steps. Similarly, notification events are raised only on the removed element, and not on any of its sub-elements. </li></ol>
Queries whether a given element can be cloned. This event may be raised more than once on the same element in a clone
transaction.The object to be cloned.The collection of objects that are cloned in this transaction.Set this flag to <code>true</code> to cancel the cloning of this element only, allowing the rest of the clone operation to continue.Set this flag to <code>true</code> to cancel the entire cloning operation.
Queries whether a given foreign unit can be copied to a given target.GML classname of the source foreign unit.GML classname of the target.Set this flag to <code>true</code> to cancel the copy of the src.
Queries whether a child element can be inserted into a given object.The parent object.The child element to be inserted.The containing unit.The name of the property into which this element should be inserted.Set this flag to <code>true</code> to cancel the child element insertion.
Queries whether a child element can be removed from its parent object.The parent object.The child element to be removed.The containing unit.The name of the property from which this element should be removed.Set this flag to <code>true</code> to cancel the child element removal.
Fires when an external editor is closed.The component which was edited using the editor.The id of the editor which was closed.The value of the returnValue property set by the editor's window.
Notifies that a child element has been inserted.The parent object.The child element that was inserted.The containing unit.The name of the property to which this element was inserted.
Notifies that a child element has been removed.The parent object.The child element that was removed.The containing unit.The name of the property from which this element was removed.