Interface FeatureTypeFactory

All Known Implementing Classes:
ComplexFeatureTypeFactoryImpl, FeatureTypeFactoryImpl, UniqueNameFeatureTypeFactoryImpl

public interface FeatureTypeFactory
Factory for types and descriptors.

Implementations of this interface should not contain any "special logic" for creating types. Method implementations should be straight through calls to a constructor.

Author:
Gabriel Roldan (Axios Engineering), Justin Deoliveira (The Open Planning Project)
  • Method Details

    • createSchema

      Schema createSchema(String namespaceURI)
      Creates a schema.
      Parameters:
      namespaceURI - The uri of the schema.
    • createAssociationDescriptor

      AssociationDescriptor createAssociationDescriptor(AssociationType type, Name name, int minOccurs, int maxOCcurs, boolean isNillable)
      Creates an association descriptor.
      Parameters:
      type - The type of the described association.
      name - The name of the described association.
      minOccurs - The minimum number of occurences of the described association.
      maxOCcurs - The maximum number of occurences of the described association.
      isNillable - Flag indicating wether the association is allowed to be null.
    • createAttributeDescriptor

      AttributeDescriptor createAttributeDescriptor(AttributeType type, Name name, int minOccurs, int maxOccurs, boolean isNillable, Object defaultValue)
      Creates an attribute descriptor.
      Parameters:
      type - The type of the described attribute.
      name - The name of the described attribute.
      minOccurs - The minimum number of occurences of the described attribute.
      maxOccurs - The maximum number of occurences of the described attribute.
      isNillable - Flag indicating if the described attribute may have a null value.
      defaultValue - The default value of the described attribute.
    • createGeometryDescriptor

      GeometryDescriptor createGeometryDescriptor(GeometryType type, Name name, int minOccurs, int maxOccurs, boolean isNillable, Object defaultValue)
      Creates a geometry descriptor.
      Parameters:
      type - The type of the described attribute.
      name - The name of the described attribute.
      minOccurs - The minimum number of occurences of the described attribute.
      maxOccurs - The maximum number of occurences of the described attribute.
      isNillable - Flag indicating if the described attribute may have a null value.
      defaultValue - The default value of the described attribute.
    • createAssociationType

      AssociationType createAssociationType(Name name, AttributeType relatedType, boolean isAbstract, List<Filter> restrictions, AssociationType superType, InternationalString description)
      Creates an association type.
      Parameters:
      name - The name of the type.
      relatedType - The type of attributes referenced by the association.
      isAbstract - Flag indicating if the type is abstract.
      restrictions - Set of restrictions on the association.
      superType - Parent type.
      description - A description of the type..
    • createAttributeType

      AttributeType createAttributeType(Name name, Class<?> binding, boolean isIdentifiable, boolean isAbstract, List<Filter> restrictions, AttributeType superType, InternationalString description)
      Creates an attribute type.
      Parameters:
      name - The name of the type.
      binding - The class that values of attributes of the type.
      isIdentifiable - Flag indicating if the attribute is identifiable.
      isAbstract - Flag indicating if the type is abstract.
      restrictions - Set of restrictions on the attribute.
      superType - Parent type.
      description - A description of the type.
    • createGeometryType

      GeometryType createGeometryType(Name name, Class<?> binding, CoordinateReferenceSystem crs, boolean isIdentifiable, boolean isAbstract, List<Filter> restrictions, AttributeType superType, InternationalString description)
      Creates a geometric attribute type.
      Parameters:
      name - The name of the type.
      binding - The class of values of attributes of the type.
      crs - The coordinate reference system of the type.
      isIdentifiable - Flag indicating if the attribute is identifiable.
      isAbstract - Flag indicating if the type is abstract.
      restrictions - Set of restrictions on the attribute.
      superType - Parent type.
      description - A description of the type.
    • createComplexType

      ComplexType createComplexType(Name name, Collection<PropertyDescriptor> schema, boolean isIdentifiable, boolean isAbstract, List<Filter> restrictions, AttributeType superType, InternationalString description)
      Creates a complex type.
      Parameters:
      name - The name of the type.
      schema - Collection of property descriptors which define the type.
      isIdentifiable - Flag indicating if the attribute is identifiable.
      isAbstract - Flag indicating if the type is abstract.
      restrictions - Set of restrictions on the attribute.
      superType - Parent type.
      description - A description of the type.
    • createFeatureType

      FeatureType createFeatureType(Name name, Collection<PropertyDescriptor> schema, GeometryDescriptor defaultGeometry, boolean isAbstract, List<Filter> restrictions, AttributeType superType, InternationalString description)
      Creates a feature type.
      Parameters:
      name - The name of the type.
      schema - Collection of property descriptors which define the type.
      isAbstract - Flag indicating if the type is abstract.
      restrictions - Set of restrictions on the attribute.
      superType - Parent type.
      description - A description of the type.
    • createSimpleFeatureType

      SimpleFeatureType createSimpleFeatureType(Name name, List<AttributeDescriptor> schema, GeometryDescriptor defaultGeometry, boolean isAbstract, List<Filter> restrictions, AttributeType superType, InternationalString description)
      Creates a simple feature type.
      Parameters:
      name - The name of the type.
      schema - List of attribute descriptors which define the type.
      isAbstract - Flag indicating if the type is abstract.
      restrictions - Set of restrictions on the attribute.
      superType - Parent type.
      description - A description of the type.