Learning
Documentation
Community
Open Exchange
Global Masters
Home / Class Reference / ENSLIB namespace / %Library.ClassDefinition
Private  Storage   

%Library.ClassDefinition


persistent class %Library.ClassDefinition extends
%AbstractDefinition

Note: The class definition classes in the %Library package have been superceded by those in the %Dictionary package.

This class represents a specific class description contained within the Caché Dictionary.

For more information on class definition classes, refer to About Class Definition Classes.

Inventory


Parameters Properties Methods Queries Indices ForeignKeys Triggers
43 39 2


Summary


Properties
Abstract ClassType ClassVersion ClientDatatype
CompileAfter DDLAllowed Datatype Description
Dynamic Final ForeignKeys Hidden
IncludeCode IncludeGenerator Indices Language
Methods Modified Name NoContext
OdbcType Owner Parameters Persistent
Properties PropertyClass Queries Querytype
Serial SqlCategory SqlRoutinePrefix SqlRowIdName
SqlRowIdPrivate SqlTableName StorageStrategy Storages
Super System TimeCreated Triggers
View ViewQuery list

Methods
%AddToSaveSet %AddToSyncSet %BuildIndices %CheckConstraints
%CheckConstraintsForExtent %ClassIsLatestVersion %ClassName %ComposeOid
%ConstructClone %Delete %DeleteExtent %DeleteId
%DispatchClassMethod %DispatchGetModified %DispatchGetProperty %DispatchMethod
%DispatchSetModified %DispatchSetMultidimProperty %DispatchSetProperty %Exists
%ExistsId %Extends %GUID %GUIDSet
%GetLock %GetParameter %GetSwizzleObject %Id
%IsA %IsModified %IsNull %KillExtent
%LockExtent %LockId %New %NormalizeObject
%ObjectIsNull %ObjectModified %Oid %OnBeforeAddToSync
%OnDetermineClass %Open %OpenId %OriginalNamespace
%PackageName %PurgeIndices %Reload %RemoveFromSaveSet
%ResolveConcurrencyConflict %RollBack %Save %SaveDirect
%SerializeObject %SetModified %SortBegin %SortEnd
%SyncObjectIn %SyncTransport %UnlockExtent %UnlockId
%ValidateIndices %ValidateObject CacheSQLInstalled ClassInfoClose
ClassInfoExecute ClassInfoFetch ClassInfoFetchRows ClassTypeGet
CompileAllClasses CompileClasses CurrentNameSpace DatatypeGet
DatatypeSet Export ExportCPP ExportJava
ExportODL GetClassFullList GetClassLocalList GetTransientState
PersistentGet PersistentSet PublishUserClass PublishUserClasses
QuerytypeGet QuerytypeSet SerialGet SerialSet
SetTransientState SubclassOfClose SubclassOfExecute SubclassOfFetch
SubclassOfFetchRows UpdateUserIndex ViewGet ViewSet
lb li ll


Properties


• property Abstract as %CacheString;
A flag indicating whether the class is abstract (1) or not (0).
• property ClassType as %CacheString [ InitialExpression = $char(0) ];
A string containing the class type.
• property ClassVersion as %Integer [ InitialExpression = 23 ];
The class dictionary version of this class, when we save we always upgrade to the latest version automatically. If you open an existing class we will use the version from this class
• property ClientDatatype as %CacheString [ InitialExpression = "VARCHAR" ];
For a datatype class, a string containing the client datatype of the class.
• property CompileAfter as %CacheString;
A string containing the name of another class which should be compiled before this class.
• property DDLAllowed as %CacheString;
A flag indicating whether DDL operations are allowed on the class (1) or not (0).
• property Datatype as %CacheString [ Calculated ];
A flag indicating whether the class is a datatype class (1) or not (0).
• property Description as %CacheString;
A string containing the description of the class.
• property Dynamic as %CacheString;
A flag indicating whether the class is dynamically defined (1) or not (0).
• property Final as %CacheString;
A flag indicating whether the class is final (1) or not (0).
• property ForeignKeys as %ListOfPersistentChildObjects(CLASSNAME=1);
A collection of foreign keys belonging to the class. See %ForeignKeyDefinition for details.
• property Hidden as %CacheString;
A flag indicating whether the class is hidden (1) or not (0).
• property IncludeCode as %CacheString;
A string containing a comma-delimited list of names of include (.INC) files to be used when compiling the class.
• property IncludeGenerator as %CacheString;
A string containing a comma-delimited list of names of include (.INC) files to be used when compiling any method generators for the class.
• property Indices as %ListOfPersistentChildObjects(CLASSNAME=1);
A collection of indices belonging to the class. See %IndexDefinition for details.
• property Language as %CacheString [ InitialExpression = "cache" ];
A string containing the default language for all the methods.
• property Methods as %ListOfPersistentChildObjects(CLASSNAME=1);
A collection of methods belonging to the class. See %MethodDefinition for details.
• property Modified as %CacheString [ InitialExpression = 0 ];
A flag indicating how the class keeps track of modified attributes.
• property Name as %CacheString;
A string containing the name of the class.
• property NoContext as %CacheString;
This is for internal use only.
• property OdbcType as %CacheString [ InitialExpression = "VARCHAR" ];
For a datatype class, a string indicating the ODBC type of the class.
• property Owner as %CacheString;
A string containing the name of the owner of the class.
• property Parameters as %ListOfPersistentChildObjects(CLASSNAME=1);
A collection of class parameters belonging to the class. See %ParameterDefinition for details.
• property Persistent as %CacheString [ Calculated ];
A flag indicating whether the class is persistent (1) or not (0).
• property Properties as %ListOfPersistentChildObjects(CLASSNAME=1);
A collection of properties belonging to the class. See %PropertyDefinition for details.
• property PropertyClass as %CacheString;
This is for internal use only.
• property Queries as %ListOfPersistentChildObjects(CLASSNAME=1);
A collection of class queries belonging to the class. See %QueryDefinition for details.
• property Querytype as %CacheString [ Calculated ];
• property Serial as %CacheString [ Calculated ];
A flag indicating whether the class is serial (embeddable) (1) or not (0).
• property SqlCategory as %CacheString [ InitialExpression = "STRING" ];
For datatype classes, a string containing the name of the SQL category associated with the data type.
• property SqlRoutinePrefix as %CacheString;
This is for internal use.
• property SqlRowIdName as %CacheString;
A string containing a user-defined name of the ID field or null string "" if it has the default name.
• property SqlRowIdPrivate as %CacheString;
A flag indicating whether the class hides its ID field to SQL (1) or not (0).
• property SqlTableName as %CacheString;
A string containing an optional SQL table name. This is the name used the class is projected as an SQL table.
• property StorageStrategy as %CacheString;
A string containing the name of the storage definition in use.
• property Storages as %ListOfPersistentChildObjects(CLASSNAME=1);
A collection of storage definitions belonging to the class. See %StorageDefinition for details.
• property Super as %CacheString;
A string containing a comma-delimited list of super class names.
• property System as %CacheString [ InitialExpression = 0 ];
A flag indicating whether the class is a system class (1) or not (0).
• property TimeCreated as %CacheString;
Time this class is created.
• property Triggers as %ListOfPersistentChildObjects(CLASSNAME=1);
A collection of SQL triggers belonging to the class. See %TriggerDefinition for details.
• property View as %CacheString [ Calculated ];
A flag indicating whether the class is an SQL view (1) or not (0).
• property ViewQuery as %CacheString;
The SQL statement that defines a view.
• property list as %ListOfDataTypes [ Transient ];

Methods


• classmethod %Exists(oid As %ObjectIdentity) as %Boolean
Checks to see if the object identified by the OID oid exists in the extent.

Returns %Boolean TRUE if it exists, FALSE if it does not.

• classmethod CacheSQLInstalled() as %Integer
• classmethod ClassInfoClose(QHandle As %Binary) as %Status
• classmethod ClassInfoExecute(ByRef QHandle As %Binary, initvalue As %String, mapped As %Boolean = 1) as %Status
• classmethod ClassInfoFetch(ByRef QHandle As %Binary, ByRef Row As %List, ByRef AtEnd As %Integer = 0) as %Status
Fetch returns the next row in the query.
• classmethod ClassInfoFetchRows(ByRef QHandle As %Binary, FetchCount As %Integer = 0, ByRef RowSet As %List, ByRef ReturnCount As %Integer, ByRef AtEnd As %Integer) as %Status
RoutineListFetchRows returns the next FetchCount rows in the query.
• method ClassTypeGet() as %CacheString
This is a Get accessor method for the ClassType property.
• method CompileAllClasses(flag As %String) as %ListOfDataTypes
• method CompileClasses(classlist As %String, flag As %String) as %ListOfDataTypes
• classmethod CurrentNameSpace() as %String
• method DatatypeGet() as %CacheString
This is a Get accessor method for the Datatype property.
• method DatatypeSet(value As %CacheString) as %Status
This is a Set accessor method for the Datatype property.
• classmethod Export(classes As %String, type As %String, ByRef objs As %ArrayOfObjects) as %Status
• classmethod ExportCPP(classname As %String, dir As %String) as %Status
• classmethod ExportJava(classes As %String, dir As %String) as %Status
• classmethod ExportODL(classname As %String, file As %String) as %Status
• method GetClassFullList(flag As %String = "") as %ListOfDataTypes
• method GetClassLocalList() as %ListOfDataTypes
• method GetTransientState() as %String
• method PersistentGet() as %CacheString
This is a Get accessor method for the Persistent property.
• method PersistentSet(value As %CacheString) as %Status
This is a Set accessor method for the Persistent property.
• classmethod PublishUserClass(classname As %String) as %Status
• classmethod PublishUserClasses() as %Status
• method QuerytypeGet() as %CacheString
This is a Get accessor method for the Querytype property.
• method QuerytypeSet(value As %CacheString) as %Status
This is a Set accessor method for the Querytype property.
• method SerialGet() as %CacheString
This is a Get accessor method for the Serial property.
• method SerialSet(value As %CacheString) as %Status
This is a Set accessor method for the Serial property.
• method SetTransientState(state)
• classmethod SubclassOfClose(QHandle As %Binary) as %Status
• classmethod SubclassOfExecute(ByRef QHandle As %Binary, super As %String, initval As %String = "") as %Status
• classmethod SubclassOfFetch(ByRef QHandle As %Binary, ByRef Row As %List, ByRef AtEnd As %Integer = 0) as %Status
Fetch returns the next row in the query.
• classmethod SubclassOfFetchRows(ByRef QHandle As %Binary, FetchCount As %Integer = 0, ByRef RowSet As %List, ByRef ReturnCount As %Integer, ByRef AtEnd As %Integer) as %Status
SubclassOfFetchRows returns the next FetchCount rows in the query.
• classmethod UpdateUserIndex() as %Status
• method ViewGet() as %CacheString
This is a Get accessor method for the View property.
• method ViewSet(value As %CacheString) as %Status
This is a Set accessor method for the View property.

Queries


• query ClassInfo(initvalue As %String, mapped As %Boolean = 1)
Selects Name As %String, Super As %String, Hidden As %Boolean, Datatype As %Boolean, System As %Integer, Final As %Boolean, Persistent As %Boolean, Serial As %Boolean, TimeChanged, SqlTableName, Abstract As %Boolean
The ClassInfo query provides a summary of information about classes contained in the Caché Dictionary.
• query SubclassOf(super As %String, initval As %String = "")
Selects Name As %String
The SubclassOf query produces a list of classes that are subclasses of the super class starting the search at initval. For example this allows you to find all the subclasses of %CSP.Page very easily.