Class Reference
IRIS for UNIX 2019.2
InterSystems: The power behind what matters   
Documentation  Search
  [%SYS] >  [%Library] >  [ClassDefinition]
Private  Storage   

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 Class Dictionary.

Inventory

Parameters Properties Methods Queries Indices ForeignKeys Triggers
44 39 2


Summary

Properties
Abstract ClassType ClassVersion ClientDatatype
CompileAfter DDLAllowed Datatype Deprecated
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 %RawString;
A flag indicating whether the class is abstract (1) or not (0).
• property ClassType as %RawString [ 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 %RawString [ InitialExpression = "VARCHAR" ];
For a datatype class, a string containing the client datatype of the class.
• property CompileAfter as %RawString;
A string containing the name of another class which should be compiled before this class.
• property DDLAllowed as %RawString;
A flag indicating whether DDL operations are allowed on the class (1) or not (0).
• property Datatype as %RawString [ Calculated ];
A flag indicating whether the class is a datatype class (1) or not (0).
• property Deprecated as %RawString;
A flag indicating if this class is deprecated (1) or not (0).
• property Description as %RawString;
A string containing the description of the class.
• property Dynamic as %RawString;
A flag indicating whether the class is dynamically defined (1) or not (0).
• property Final as %RawString;
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 %RawString;
A flag indicating whether the class is hidden (1) or not (0).
• property IncludeCode as %RawString;
A string containing a comma-delimited list of names of include (.INC) files to be used when compiling the class.
• property IncludeGenerator as %RawString;
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 %RawString [ 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 %RawString [ InitialExpression = 0 ];
A flag indicating how the class keeps track of modified attributes.
• property Name as %RawString;
A string containing the name of the class.
• property NoContext as %RawString;
This is for internal use only.
• property OdbcType as %RawString [ InitialExpression = "VARCHAR" ];
For a datatype class, a string indicating the ODBC type of the class.
• property Owner as %RawString;
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 %RawString [ 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 %RawString;
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 %RawString [ Calculated ];
• property Serial as %RawString [ Calculated ];
A flag indicating whether the class is serial (embeddable) (1) or not (0).
• property SqlCategory as %RawString [ InitialExpression = "STRING" ];
For datatype classes, a string containing the name of the SQL category associated with the data type.
• property SqlRoutinePrefix as %RawString;
This is for internal use.
• property SqlRowIdName as %RawString;
A string containing a user-defined name of the ID field or null string "" if it has the default name.
• property SqlRowIdPrivate as %RawString;
A flag indicating whether the class hides its ID field to SQL (1) or not (0).
• property SqlTableName as %RawString;
A string containing an optional SQL table name. This is the name used the class is projected as an SQL table.
• property StorageStrategy as %RawString;
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 %RawString;
A string containing a comma-delimited list of super class names.
• property System as %RawString [ InitialExpression = 0 ];
A flag indicating whether the class is a system class (1) or not (0).
• property TimeCreated as %RawString;
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 %RawString [ Calculated ];
A flag indicating whether the class is an SQL view (1) or not (0).
• property ViewQuery as %RawString;
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 %RawString
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 %RawString
This is a Get accessor method for the Datatype property.
• method DatatypeSet(value As %RawString) 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 %RawString
This is a Get accessor method for the Persistent property.
• method PersistentSet(value As %RawString) 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 %RawString
This is a Get accessor method for the Querytype property.
• method QuerytypeSet(value As %RawString) as %Status
This is a Set accessor method for the Querytype property.
• method SerialGet() as %RawString
This is a Get accessor method for the Serial property.
• method SerialSet(value As %RawString) 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 %RawString
This is a Get accessor method for the View property.
• method ViewSet(value As %RawString) 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 Class 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.


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