This is documentation for Caché & Ensemble. See the InterSystems IRIS version of this content.

For information on migrating to InterSystems IRIS, see Why Migrate to InterSystems IRIS?


abstract persistent class Ens.GenericObject extends %Library.Persistent

SQL Table Name: Ens.GenericObject

This class should be considered Experimental at this time.
A generic object is an object whose properties are not known at class compilation time; Instead the values of properties are held by an internal, multidimensional array.
By use of Dispatch methods, these properties appear to users of the generic object as if they were regular properties. For example:
  Set object.Name = "Jack"
Will result in the value "Jack" being stored under the key "Name" in the internal array property.
All property names are considered valid and it is the user's responsibility to provide correct property names for given generic object.
All properties of a generic object are assumed to be single-valued strings. There is no client support for generic objects.
Though persistent, the properties of this class are not available via SQL. Instead they are stored as a serialized set of name/value pairs.
The %EnumerateProperties() method, if implemented, provides a way for tools (i.e., the Rules editor) to discover the allowable set of property names.

Property Inventory

Method Inventory


property %Process as Ens.BusinessProcess (XMLPROJECTION = "none") [ Transient ];
This holds a reference to the process object.
Property methods: %ProcessGet(), %ProcessGetObject(), %ProcessGetObjectId(), %ProcessGetSwizzled(), %ProcessIsValid(), %ProcessNewObject(), %ProcessSet(), %ProcessSetObject(), %ProcessSetObjectId(), %ProcessUnSwizzle()


method %DispatchGetProperty(pProperty As %String)
Property dispatch method to catch references to virtual properties.
This should not be called directly.
method %DispatchSetProperty(pProperty As %String, pValue As %String)
Property dispatch method to catch references to virtual properties.
This should not be called directly.
classmethod %EnumerateProperties(Output pList, pDocumentClass As %String = "") as %Status
Return an array of properties that this object supports. This takes the form pList(property) = "":
  pList("Name") = ""
pDocumentClass is not yet supported.


index (IDKEY on ) [IdKey, Type = key];
Index methods: IDKEYCheck(), IDKEYDelete(), IDKEYExists(), IDKEYOpen(), IDKEYSQLCheckUnique(), IDKEYSQLExists(), IDKEYSQLFindPKeyByConstraint(), IDKEYSQLFindRowIDByConstraint()

Inherited Members

Inherited Methods


Storage Model: CacheStorage (Ens.GenericObject)