Class UniqueNameFeatureTypeFactoryImpl
Object
FeatureTypeFactoryImpl
UniqueNameFeatureTypeFactoryImpl
- All Implemented Interfaces:
FeatureTypeFactory
- Direct Known Subclasses:
ComplexFeatureTypeFactoryImpl
A specialisation of
FeatureTypeFactoryImpl
that returns UniqueNameFeatureTypeImpl
instead of
FeatureTypeImpl
to avoid equality tests on types with cyclic definitions.
Users of this factory must not use it to create multiple FeatureType instances with the same name unless they represent the same type, because other parts of the implementation will assume they are equal, and if they are not, Bad Things Will Happen.
- Author:
- Ben Caradoc-Davies (CSIRO Earth Science and Resource Engineering)
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptioncreateFeatureType
(Name name, Collection<PropertyDescriptor> schema, GeometryDescriptor defaultGeometry, boolean isAbstract, List<Filter> restrictions, AttributeType superType, InternationalString description) Override superclass to returnUniqueNameFeatureTypeImpl
instead ofFeatureTypeImpl
.Methods inherited from class FeatureTypeFactoryImpl
createAssociationDescriptor, createAssociationType, createAttributeDescriptor, createAttributeType, createComplexType, createGeometryDescriptor, createGeometryType, createSchema, createSimpleFeatureType, getCRSFactory, getFilterFactory, setCRSFactory, setFilterFactory
-
Constructor Details
-
UniqueNameFeatureTypeFactoryImpl
public UniqueNameFeatureTypeFactoryImpl()
-
-
Method Details
-
createFeatureType
public FeatureType createFeatureType(Name name, Collection<PropertyDescriptor> schema, GeometryDescriptor defaultGeometry, boolean isAbstract, List<Filter> restrictions, AttributeType superType, InternationalString description) Override superclass to returnUniqueNameFeatureTypeImpl
instead ofFeatureTypeImpl
.- Specified by:
createFeatureType
in interfaceFeatureTypeFactory
- Overrides:
createFeatureType
in classFeatureTypeFactoryImpl
- 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.- See Also:
-