FeatureType provides metadata model describing the represented information. This is considered “metadata” as it is a description of the information stored in the features.

FeatureType is used when:

  • Accessing information as a description of the available attribute names when making a Expression
  • Creating a new feature you can check to ensure your values are valid



The type is represented by PropertyType, AttributeType, GeometryType, ComplexType, FeatureType.


This forms a “dynamic type system” indicating we can describe new types of information at runtime. To make this a complete type system we have support for references (with AssociationType) and methods (with OperationType) although use of these facilities is considered experimental at present.


As shown above a ComplexType contains a list of properties each represented as a PropertyDescriptor with a distinct name and property type.