persistent class %iKnow.Domain extends %Library.Persistent
SQL Table Name: %iKnow.DomainThis class represents a domain registered in this namespace.
When creating a domain, you should pass a value for Name to its %New() method.
Note that even if deep=0 when you clone a parent object in a parent child relationship or a one object of a one to many relationship then it will construct clones of all the child/many objects. This is because a child/many object can only point at a single parent and so if we did not create a clone of these then you would have a relationship with zero items in it. If you really just want to clone the object without these child/many objects then pass deep=-1 to this method.
After the clone is constructed it will call %OnConstructClone(object,deep,.cloned) on the clone if it is defined so that you can perform any additional steps e.g. taking out a lock. This works just the same way as %OnNew() does.
The object is the oref of the original object that was cloned. The cloned array is just used internally when doing a deep clone to prevent recursive loops, do not pass anything in at all for this parameter on the initial call. If you write a %OnConstructClone and from here you wish to call %ConstructClone on another object pass in the cloned array, e.g. 'Do oref.%ConstructClone(1,.cloned)' so that it can prevent recursive loops.
The location is used internally to pass the new location for stream objects.
Internally, %DeleteExtent() iterates over the set of instances in the collection and invokes the %Delete() method. Refer to About Concurrency for more details on the optional concurrency argument. The option pInitializeExtent argument allows the user to override the default behavior of calling %KillExtent() when all instances are successfully deleted. %KillExtent() is called by default when the extent is empty so that empty globals can be killed. If %KillExtent() is not called then some empty globals can remain as well as the ID counter if it exists. The default value for pInitializeExtent is 1. Unless the caller specifies a false value for pInitializeExtent the globals used by the extent will be killed. In some cases, the globals used by the extent are not used exclusively by the extent. In those cases it is possible that some globals will still be defined even when pInitializeExtent is true.
Returns a %Status value indicating success or failure.
Deprecated: use %New() instead (supplying only the name parameter)
Deprecated: use %DeleteId() instead (accepts domain ID)
Deprecated: use %DeleteId() instead
Note that it is recommended to call this method separately, before dropping the domain through %Delete() or %DeleteId().
Deprecated: use NameIndexExists() instead
Returns the current version of this Caché instance, which is the version of any newly created domain in this instance. Domains already created in this instance before it was last upgraded or which were imported from other instances through other means, may have earlier versions. To check the version of a particular domain, use the Version property of a %iKnow.Domain instance.
Shorthand method to get the domain ID for a specific domain name, creating it if it does not yet exist in this namespace.
Returns an array pParams containing all the domain parameters registered for this instance in the form: pParams(paramName) = paramValue.NOTE: this might include parameters that cannot be modified by end users, but will not include values defined at the namespace level.
Deprecated: use NameIndexOpen() instead
Deprecated: use %OpenId() instead
Storage Model: CacheSQLStorage
Map number 1 is named MainMap
Map number 2 is named NameIndex