persistent class %Dictionary.PropertyDefinition
extends %Persistent, %Dictionary.PropertyDefinitionQuery
parameter SQLENABLED = 1;
property Aliases
as %CacheString;
List of aliases for this property.
property Calculated
as %Boolean [ InitialExpression = 0 ];
Specifies that the property has no in-memory storage allocated for it when the object containing it is instantiated.
property Cardinality
as %CacheString;
Specifies the cardinality of a relationship property. The Cardinality keyword is required for relationship properties. It is ignored by non-relationship properties.
property ClientName
as %CacheString;
ClientName
property Collection
as %CacheString;
Specifies that a property is a collection property as well as what type of collection it is.
property Description
as %CacheString;
Specifies a description of the property.
property Final
as %Boolean [ InitialExpression = 0 ];
Specifies that subclasses cannot override the definition of this property.
property Identity
as %Boolean [ SqlFieldName = _Identity,InitialExpression = 0 ];
Specifies that this property is the identity for this class. Identity properties can be set in new objects only and the default is set by incrementing a counter.
property InitialExpression
as %CacheString [ InitialExpression = """""" ];
Specifies an initial value for the property.
property Internal
as %Boolean [ InitialExpression = 0 ];
If true, then do not display this item in automatic documentation.
property Inverse
as %CacheString;
Specifies the name of the inverse side of a relationship. That is, the name of the corresponding relationship property in the related class. The inverse property must exist in the related class and have the correct Cardinality value. The Inverse keyword is required for relationship properties. It is ignored by non-relationship properties.
property MultiDimensional
as %Boolean [ InitialExpression = 0 ];
Specifies that an attribute has the characteristics of a multidimensional array.
property Name
as %Dictionary.CacheIdentifier;
The name of the property.
property NoModBit
as %Boolean [ InitialExpression = 0 ];
Deprecated.
property NotInheritable
as %Boolean [ InitialExpression = 0 ];
Deprecated.
property OnDelete
as %CacheString;
Specifies what referential action to take when the key value is deleted from the foreign table.
property Parameters
as array of %CacheString;
Parameter
property Private
as %Boolean [ InitialExpression = 0 ];
Specifies that the property is private. Private properties can only be used by instance methods of this class or its subclasses.
property ReadOnly
as %Boolean [ InitialExpression = 0 ];
Specifies that the property is readonly.
property Relationship
as %Boolean [ InitialExpression = 0 ];
Specifies that a property is a relationship property.
property Required
as %Boolean [ InitialExpression = 0 ];
In the case of a persistent class, specifies that the value of the property must be given a value before it can be stored to disk.
property SequenceNumber
as %Integer [ InitialExpression = 0 ];
SequenceNumber
property ServerOnly
as %CacheString;
Specifies that a property will not be projected to a Java or C++ client.
property SqlCollation
as %CacheString;
Deprecated.
property SqlColumnNumber
as %CacheString;
Explicitly sets the SQL Column number for this property. This is provided for legacy application support.
property SqlComputeCode
as %CacheString;
Specifies Cache ObjectScript code that evaluates to a computed field value.
property SqlComputeOnChange
as %CacheString;
Specifies one or more properties whose modification triggers the recalculation of this computed field within SQL.
property SqlComputed
as %Boolean [ InitialExpression = 0 ];
Specifies that this property is an SQL computed field.
property SqlFieldName
as %CacheString;
In the case of a persistent class, specifies the column name used to identify the property in its SQL projection. By default, the SQL column name is the same as the property name.
property SqlListDelimiter
as %CacheString;
Specifies the delimiter character used within SQL for lists. This is provided for legacy application support.
property SqlListType
as %CacheString;
specifies the representation to be used for a list.
property Transient
as %Boolean [ InitialExpression = 0 ];
In the case of a persistent class, specifies that the property is not stored in the database.
property Type
as %Dictionary.CacheClassname;
Specifies the name of the class associated with the property, which can be a data type class, a persistent class, or an embeddable serial class.
relationship UDLTexts
as %Dictionary.PropertyUDLTextDefinition [ Inverse = parent,Cardinality = children ];
UDLText
relationship parent
as %Dictionary.ClassDefinition [ Inverse = Properties,Cardinality = parent ];
Pointer to the containing parent object
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 %LockId(id As %String, shared As %Boolean = 0)
as %Status
%LockId()
Obtain an exclusive or shared lock on the object identified by id. The type
of lock obtained is determined by shared. This method is normally generated by
the storage class for persistent classes using %Library.CacheStorage or %Library.CacheSQLStorage.
classmethod %UnlockId(id As %String, shared As %Boolean = 0, immediate As %Boolean = 0)
as %Status
%UnlockId()
Release an exclusive or shared lock on the object identified by id. The type
of lock released is determined by shared. If this method is not overridden
then the default implementation returns an error. This method is normally generated by
the storage class for persistent classes using %Library.CacheStorage or %Library.CacheSQLStorage.
classmethod CardinalityIsValid(val As %String)
as %Status
classmethod CollectionIsValid(val As %String)
as %Status
classmethod OnDeleteIsValid(val As %String)
as %Status
classmethod ServerOnlyIsValid(val As %String)
as %Status
classmethod SqlCollationIsValid(val As %String)
as %Status
classmethod SqlListTypeIsValid(val As %String)
as %Status
index (IDKEY on Name) [IdKey];
trigger OnDelete
(AFTER event DELETE) trigger OnInsertUpdate
(BEFORE event INSERT/UPDATE)