@doc hierarchy="GMLDOM">
Defines a class of objects and provides access to the class's metadata.
The Class of any GML object can be retrieved through the special ~constructor property.
(c) SAP AG 2003-2006. All rights reserved.
///////////////////////////////////////////////////////////////////////
// CLASS HEADER
Class Class;
///////////////////////////////////////////////////////////////////////
// PROPERTIES
<@doc>
Gets the collection of class dependents
The collection of class dependents depends on the class type, according to:
Class: all attached aspects.
Aspect: all base classes.
Prototype: all implementing classes/aspects
virtual readonly property dependents = ^Class[fullname];
<@doc>Gets the fully-qualified class name
virtual readonly property fullname = '';
<@doc type="b">Indicates that this is an aspect
virtual readonly property isAspect = '';
<@doc type="b">Indicates that this is a class
virtual readonly property isClass = '';
<@doc type="b">Indicates that this is a prototype
virtual readonly property isPrototype = '';
<@doc type="b">Indicates that the class is valid (has been successfully loaded and parsed)
virtual readonly property isValid = '';
<@doc type="b">Indicates that the class is abstract, and cannot be instantiated.
virtual readonly property isAbstract = '';
<@doc>
Gets the class metadata object
The metadata object contains descriptive information about the class in the following structure:
Attribute | Description
title | The class title
descr | The class description
icon16 | The class's small icon urn
icon32 | The class's large icon urn
Additional metadata items may be defined by classes as needed.
virtual readonly property metadata = null;
<@doc>Gets the bare class name (without the namespace prefix)
virtual readonly property name = '';
<@doc>Gets the namespace object that the class belongs to
virtual readonly property namespace = null;
<@doc>Gets the collection of events defined directly on the class
virtual readonly property ownEvents = ^Object[name];
<@doc>Gets the collection of methods defined directly on the class
virtual readonly property ownMethods = ^Function[name];
<@doc>Gets the collection of properties defined directly on the class
virtual readonly property ownProperties = ^Object[name];
<@doc>Gets the collection of classifiers directly related to this class
virtual readonly property ownRelations = ^gml:Class[name];
<@doc>
Gets the collection of class precedents
The collection of class precedents is made of the class itself, plus all ancestor classes, plus all
attached prototypes.
virtual readonly property precedents = ^Class[fullname];
<@doc>Gets the namespace prefix of the class
virtual readonly property prefix = '';
<@doc>Gets the collection of all class property definitions (including inherited properties)
virtual readonly property properties = null;
<@doc>Gets the collection of subclasses that are derived from this class
virtual readonly property subclasses = ^Class[fullname];
<@doc>Gets the number of subclasses that are derived from this class
virtual readonly property subcount = 0;
<@doc>Gets the superclass from which this class is derived
virtual readonly property superclass = ^Class;
<@doc>Gets the class type (Class|Aspect|Prototype)
virtual readonly property type = '';
<@doc>Gets the urn of the class source file
virtual readonly property urn = '';
<@doc>Gets the kit of the class source file
virtual readonly property kit = '';
///////////////////////////////////////////////////////////////////////
// METHODS
<@doc>
Tests whether this class is derived from a specified class/prototype
The qualified class/prototype name to test (if the namespace is omitted then "~core.gml:" is assumed)
Returns ~true iff this class is derived from %0
native method isa()
end
<@doc>
Gets the value of a specified class (static) property
The name of the property to get
The value of the requested property
native method get(name)
end