## org.opengis.feature.type
Interface TypeFactory

    public interface TypeFactory

Factory interface for the typing system.

This interface supports setter dependency injection:

- CRSFactory - used for spatial content creation
- FilterFactory - used for type restrictions

Implementors are encouraged to allow constructor injection:

    class MyTypeFactory {
        CRSFactory crsFactory;
        FilterFactory filterFactory;
        public MyTypeFactory( CRSFactory crsFactory, FilterFactory filterFactory){
           this.crsFactory = crsFactory;
           this.filterFactory = filterFactory;
        }
        public void setCRSFactory( CRSFactory factory ){
           this.crsFactory = factory;
        }
        public void setFilterFactory( FilterFactory factory ){
           this.filterFactory = factory;
        }
        ...
      }

Method Summary
`AssociationDescriptor` `createAssociationDescriptor(AssociationType type, Name name, int minOccurs, int maxOCcurs)` Creates a new association descriptor.
`AssociationType` `createAssociationType(Name name, AttributeType referenceType, boolean isIdentifiable, boolean isAbstract, Set<Filter> restrictions, AssociationType superType, InternationalString description)`
`AttributeDescriptor` `createAttributeDescriptor(AttributeType type, Name name, int minOccurs, int maxOccurs, boolean isNillable, Object defaultValue)` Creates a new attribute descriptor.
`AttributeType` `createAttributeType(Name name, Class<?> binding, boolean isIdentifiable, boolean isAbstract, Set<Filter> restrictions, AttributeType superType, InternationalString description)`
`ComplexType` `createComplexType(Name name, Collection<StructuralDescriptor> schema, boolean isIdentifiable, boolean isAbstract, Set<Filter> restrictions, AttributeType superType, InternationalString description)`
`FeatureCollectionType` `createFeatureCollectionType(Name name, Collection<StructuralDescriptor> schema, Collection<AssociationDescriptor> members, AttributeDescriptor defaultGeom, CoordinateReferenceSystem crs, boolean isAbstract, Set<Filter> restrictions, AttributeType superType, InternationalString description)`
`FeatureType` `createFeatureType(Name name, Collection<StructuralDescriptor> schema, AttributeDescriptor defaultGeometry, CoordinateReferenceSystem crs, boolean isAbstract, Set<Filter> restrictions, AttributeType superType, InternationalString description)`
`GeometryType` `createGeometryType(Name name, Class<?> binding, CoordinateReferenceSystem crs, boolean isIdentifiable, boolean isAbstract, Set<Filter> restrictions, AttributeType superType, InternationalString description)`
`OperationDescriptor` `createOperationDescriptor(OperationType type, boolean isImplemented)` Creates a new operation descriptor.
`Schema` `createSchema(String namespaceURI)` Creates a Schema to hold instances of Types created by this factory.
`CRSFactory` `getCRSFactory()` Returns the CRS factory used to create CRS info for created types.
`FilterFactory` `getFilterFactory()` Returns the Filter Facotry used to create type restrictions.
`void` `setCRSFactory(CRSFactory crsFactory)` Sets the CRS factory used to create CRS info for created types.
`void` `setFilterFactory(FilterFactory filterFactory)` Sets the filter factory used to create type restrictions.

Method Detail

### getCRSFactory

    CRSFactory getCRSFactory()

  Returns the CRS factory used to create CRS info for created types.

### setCRSFactory

    void setCRSFactory(CRSFactory crsFactory)

  Sets the CRS factory used to create CRS info for created types.

### getFilterFactory

    FilterFactory getFilterFactory()

  Returns the Filter Facotry used to create type restrictions.

### setFilterFactory

    void setFilterFactory(FilterFactory filterFactory)

  Sets the filter factory used to create type restrictions.

### createSchema

    Schema createSchema(String namespaceURI)

  Creates a Schema to hold instances of Types created by this factory.

  Parameters:
    `namespaceURI` -
  Returns:
    Schema

### createAttributeDescriptor

    AttributeDescriptor createAttributeDescriptor(AttributeType type,
                                                  Name name,
                                                  int minOccurs,
                                                  int maxOccurs,
                                                  boolean isNillable,
                                                  Object defaultValue)

  Creates a new 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.
    `defaulValue` - The default value of the described attribute.

### createAssociationDescriptor

    AssociationDescriptor createAssociationDescriptor(AssociationType type,
                                                      Name name,
                                                      int minOccurs,
                                                      int maxOCcurs)

  Creates a new 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.

### createOperationDescriptor

    OperationDescriptor createOperationDescriptor(OperationType type,
                                                  boolean isImplemented)

  Creates a new operation descriptor.

  Parameters:
    `type` - The type of the described operation.
    `isImplemented` - Flag indicating if the described operation is implemented or not.

### createAssociationType

    AssociationType createAssociationType(Name name,
                                          AttributeType referenceType,
                                          boolean isIdentifiable,
                                          boolean isAbstract,
                                          Set<Filter> restrictions,
                                          AssociationType superType,
                                          InternationalString description)

### createAttributeType

    AttributeType createAttributeType(Name name,
                                      Class<?> binding,
                                      boolean isIdentifiable,
                                      boolean isAbstract,
                                      Set<Filter> restrictions,
                                      AttributeType superType,
                                      InternationalString description)

### createComplexType

    ComplexType createComplexType(Name name,
                                  Collection<StructuralDescriptor> schema,
                                  boolean isIdentifiable,
                                  boolean isAbstract,
                                  Set<Filter> restrictions,
                                  AttributeType superType,
                                  InternationalString description)

### createGeometryType

    GeometryType createGeometryType(Name name,
                                    Class<?> binding,
                                    CoordinateReferenceSystem crs,
                                    boolean isIdentifiable,
                                    boolean isAbstract,
                                    Set<Filter> restrictions,
                                    AttributeType superType,
                                    InternationalString description)

### createFeatureType

    FeatureType createFeatureType(Name name,
                                  Collection<StructuralDescriptor> schema,
                                  AttributeDescriptor defaultGeometry,
                                  CoordinateReferenceSystem crs,
                                  boolean isAbstract,
                                  Set<Filter> restrictions,
                                  AttributeType superType,
                                  InternationalString description)

### createFeatureCollectionType

    FeatureCollectionType createFeatureCollectionType(Name name,
                                                      Collection<StructuralDescriptor> schema,
                                                      Collection<AssociationDescriptor> members,
                                                      AttributeDescriptor defaultGeom,
                                                      CoordinateReferenceSystem crs,
                                                      boolean isAbstract,
                                                      Set<Filter> restrictions,
                                                      AttributeType superType,
                                                      InternationalString description)

Copyright © 1994-2008 Open Geospatial Consortium. All Rights Reserved.