Home > Class Reference > %SYS namespace > %XML.Exchange.Adaptor

%XML.Exchange.Adaptor

abstract class %XML.Exchange.Adaptor extends %XML.Adaptor

XML Exchange Adaptor Sub-classes of %XML.Exchange.Adaptor are included in Configuration Management. Configuration Mangement is used to export and import Exchange Items. The items are written in XML such that the data is readable and different revisions of the item may be compared to identify changes.

Property Inventory (Including Private)

Method Inventory (Including Private)

Parameters

parameter GUIDENABLED = 1;
If this parameter is set to 1 then a GUID will be assigned (to the %GUID property) to each new object. When the object is saved for the first time this GUID value will be recorded in a namespace index which will allow GUID to be resolved to OIDs.
parameter XMLDEFAULTREFERENCE = GUID;
Default value of XMLREFERENCE that specifies how to project references to XML. XMLREFERENCE may be overridden for each property. SUMMARY indicates that only the summary properies of the referenced class are used to represent the reference. SUMMARY is the default. Note that by default all properties are of the referenced class are in the summary. COMPLETE indicates that all properties of the referenced class are used to represent the reference. ID indicates that the id of a persistent or serial class is used to represent the reference. OID indicates that the oid of a persistent or serial class is used to represent the reference. The form of the oid will be classname,id. GUID indicates the the GUID of a persistent class is used to represent the reference.

Properties (Including Private)

property GUID as %RawString (XMLPROJECTION = "ATTRIBUTE") [ Transient ];
Property methods: GUIDGet(), GUIDIsValid(), GUIDSet()

Methods (Including Private)

private classmethod %OnAfterDelete(oid As %ObjectIdentity) as %Status [ Language = objectscript ]
This callback method is invoked by the %Delete() method to provide notification that the object specified by oid has been deleted. The callback occurs immediately after %DeleteData has been called. If %DeleteData returns an error then %OnAfterDelete is not called.

If %OnAfterDelete returns an error (%Status) then the transaction is rolled back.

private method %OnAfterSave(insert As %Boolean) as %Status [ Language = objectscript ]
This callback method is invoked by the %Save() method to provide notification that the object is being saved. It is called after the object's data has been successfully written to disk.

insert will be set to 1 if this object is being saved for the first time.

If this method returns an error then the call to %Save() will fail.

private method %OnBeforeSave(insert As %Boolean) as %Status [ Language = objectscript ]
This callback method is invoked by the %Save() method to provide notification that the object is being saved. It is called before any data is written to disk.

insert will be set to 1 if this object is being saved for the first time.

If this method returns an error then the call to %Save() will fail.

private classmethod %OnDelete(oid As %ObjectIdentity) as %Status [ Language = objectscript ]
This callback method is invoked by the %Delete() method to provide notification that the object specified by oid is being deleted.

If this method returns an error then the object will not be deleted.

private method %OnOpen() as %Status [ Language = objectscript ]
This callback method is invoked by the %Open() method to provide notification that the object specified by oid is being opened.

If this method returns an error then the object will not be opened.

method GUIDGet() as %RawString [ Language = objectscript ]
method GUIDSet(Arg As %RawString) as %Status [ Language = objectscript ]
method XMLClear() [ Language = objectscript ]
Clear propety values in preparation for the values from XML import
classmethod XMLExchangeName(id As %String) as %String [ Language = objectscript ]
Returns an value to identify the object. This method may be overriden to return a code or description.
classmethod XMLExchangePath(id As %String) as %String [ Language = objectscript ]
For very large tables it is necessary to break the records down into sub-directories. This method returns the sub-directory name to be used for the given id.

The sub-directory returned is then appended to the path using ##class(%File).SubDirectoryName()

classmethod XMLGetElement(id As %String, Object As %RegisteredObject = $$$NULLOREF) as %String [ Language = objectscript ]
Return the Oid of the Exchange Item that contains this object.
classmethod XMLLoadGUID(document As %XML.Document, node As %Integer, containerOref As %RegisteredObject = "") as %RegisteredObject [ Language = objectscript ]
Returns a matching object based on unique indices
classmethod XMLNew(document As %XML.Document, node As %Integer, containerOref As %RegisteredObject = "") as %RegisteredObject [ Language = objectscript ]
Get an instance of an XML enabled class.

You may override this method to do custom processing (such as initializing the object instance) before returning an instance of this class. However, this method should not be called directly from user code.
Arguments:
document is the document with %XML.Node or macros in %xmlDOM.inc.
nodeId is a node id of the node which defines this object. An %XML.Node object may be obtained for this node using document.GetNode(nodeId)
containerOref is the containing object instance when called from XMLImport and is "" when called from %XML.Reader for Correlate'd objects.

Triggers

trigger ChangeControlAfterDelete (AFTER event DELETE);
trigger ChangeControlAfterInsert (AFTER event INSERT);
trigger ChangeControlAfterUpdate (AFTER event UPDATE);
trigger ChangeControlBeforeDelete (BEFORE event DELETE);
trigger ChangeControlBeforeInsert (BEFORE event INSERT);
trigger ChangeControlBeforeUpdate (BEFORE event UPDATE);

Inherited Members

Inherited Methods (Including Private)

FeedbackOpens in a new window