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 Detail

      • 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.