Type
type
declarations define types. For example, this declaration defines the standard Book type and makes the type Ref
available as T.Book
to the plugin.
type std:type:book as Book title: Book search-name: book behaviour physical attribute dc:attribute:title [sort=1000] attribute dc:attribute:author [sort=1100] attribute std:attribute:isbn [sort=1200] attribute std:aliased-attribute:year [sort=1300] attribute dc:attribute:publisher [sort=1300] attribute dc:attribute:subject [sort=1500] attribute std:attribute:notes [sort=1600] render-type book render-icon: E210,1,f render-category 0 label-applicable std:label:common create-position normal
Type annotations
Sometimes it is useful to work with a set of types, or apply generic functionality to some types without knowing exactly what they are. Type annotations allow you to annotate types with arbitrary strings, and query the schema to find them. You can apply multiple annotations to a type.
type std:type:file annotation example:annotation:first annotation example:annotation:second
Types with a given annotation are found using SCHEMA.getTypesWithAnnotation(), and SCHEMA.getTypeInfo() to retrieve the annotations on a given type.
To test if an object is one of your annotated types, use isKindOfTypeAnnotated()
.