Class Reference
IRIS for UNIX 2019.3
InterSystems: The power behind what matters   
Documentation  Search
  [ENSLIB] >  [Ens] >  [GenericObject]
Private  Storage   

abstract persistent class Ens.GenericObject extends %Persistent

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.

Inventory

Parameters Properties Methods Queries Indices ForeignKeys Triggers
3 5


Summary

Properties
%Process

Methods
%AddToSaveSet %AddToSyncSet %BMEBuilt %BuildIndicesAsync
%BuildIndicesAsyncResponse %CheckConstraints %CheckConstraintsForExtent %ClassIsLatestVersion
%ClassName %ComposeOid %ConstructClone %Delete
%DeleteExtent %DeleteId %DispatchClassMethod %DispatchGetModified
%DispatchGetProperty %DispatchMethod %DispatchSetModified %DispatchSetMultidimProperty
%DispatchSetProperty %EnumerateProperties %Exists %ExistsId
%Extends %GUID %GUIDSet %GetLock
%GetParameter %GetSwizzleObject %Id %InsertBatch
%IsA %IsModified %IsNull %KillExtent
%KillExtentData %LoadFromMemory %LockExtent %LockId
%New %NormalizeObject %ObjectIsNull %ObjectModified
%Oid %OnBeforeAddToSync %OnDetermineClass %Open
%OpenId %OriginalNamespace %PackageName %PhysicalAddress
%PurgeIndices %Reload %RemoveFromSaveSet %ResolveConcurrencyConflict
%RollBack %Save %SaveDirect %SaveIndices
%SerializeObject %SetModified %SortBegin %SortEnd
%SyncObjectIn %SyncTransport %UnlockExtent %UnlockId
%ValidateIndices %ValidateObject


Properties

• property %Process as Ens.BusinessProcess(XMLPROJECTION="none") [ Transient ];
This holds a reference to the process object.

Methods

• 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.


Copyright (c) 2019 by InterSystems Corporation. Cambridge, Massachusetts, U.S.A. All rights reserved. Confidential property of InterSystems Corporation.