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.
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 ];
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.
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.