Plugins can query the schema to find out more information about the types defined in the current application.
Each type information object contains the following keys:
The name of the type, suitable for displaying to the user.
The API code for the type, eg
"std:type:person". May be
undefined if the type does not have an API code.
The short name, or “search name”, of the type. Used in search constraints.
Ref of the parent type, or
undefined if this is a root type.
Ref of the root type, which may be equal to the requested type if it is a root type.
Refs of the direct child types of this type. If a type has no direct child types, the array will be empty.
An array of attribute descriptors, in the order that the attributes should be displayed in the user interface. Each matches an
Where the application uses an aliased attribute, the descriptor of the underlying attribute is included in this array.
An array of any aliased attribute descriptors used on this type. Each matches an
Plugins are not usually expected to need this information, but it may be useful for displaying appropriate schema names in the user interface.
An array of annotation names, applied by requirements.schema files.
true if this type or subtype is offered in the object editor. This corresponds to the
create-show-subtype statement in requirements.schema files.
An array of names of Elements which will be displayed on objects of this type. The order may not be the order they are displayed, and only the names of the elements are available.
An array of strings describing the behaviours associated with this type.
||Represents a physical item|
||Hierarchical user interface|
||Show hierarchy when displaying a link to objects|
||Force explicit choice of label when creating new object|
||Automatically label objects of this type with itself|
||Hide from Browse|