Class ComplexFeatureTypeImpl

All Implemented Interfaces:
AttributeType, ComplexType, FeatureType, PropertyType

public class ComplexFeatureTypeImpl extends UniqueNameFeatureTypeImpl
This is a specialization of complex feature type that can be nested inside another feature type. A system attribute descriptor called "FEATURE_LINK" is added in the descriptors so it can be used to link the type to its parent type, without being encoded, since it doesn't exist in the real schema.
Author:
Rini Angreani (CSIRO Earth Science and Resource Engineering)
  • Constructor Details

    • ComplexFeatureTypeImpl

      public ComplexFeatureTypeImpl(Name name, Collection<PropertyDescriptor> schema, GeometryDescriptor defaultGeometry, boolean isAbstract, List<Filter> restrictions, AttributeType superType, InternationalString description)
      Constructor for complex feature type with fake feature type descriptor provided.
      Parameters:
      name - Name of feature type
      schema - Schema property descriptors
      defaultGeometry - Default geometry
      isAbstract - True if this type is abstract
      restrictions - List of restrictions
      superType - Super type
      description - Feature description
    • ComplexFeatureTypeImpl

      public ComplexFeatureTypeImpl(ComplexFeatureTypeImpl type, Collection<PropertyDescriptor> schema)
      Create a clone of an existing ComplexFeatureTypeImpl with new schema.
      Parameters:
      type - Type to copy
      schema - Set of descriptors
  • Method Details

    • getTypeDescriptors

      public Collection<PropertyDescriptor> getTypeDescriptors()
      Return all the descriptors that come from the schema, excluding the system descriptors, such as 'FEATURE_LINK', used for linking features.
      Returns:
      schema descriptors