org.geotools.feature
Class AttributeTypeBuilder

Object
  extended by AttributeTypeBuilder
Direct Known Subclasses:
DefaultAttributeTypeBuilder

public class AttributeTypeBuilder
extends Object

Builder for attribute types and descriptors.

Building an attribute type:

 
  //create the builder
        AttributeTypeBuilder builder = new AttributeTypeBuilder();
  
  //set type information
  builder.setName( "intType" ):
  builder.setBinding( Integer.class );
  builder.setNillable( false );
  
  //build the type
  AttributeType type = builder.buildType();
 
 

Building an attribute descriptor:

 
  //create the builder
        AttributeTypeBuilder builder = new AttributeTypeBuilder();
  
  //set type information
  builder.setName( "intType" ):
  builder.setBinding( Integer.class );
  builder.setNillable( false );
  
  //set descriptor information
  builder.setMinOccurs(0);
  builder.setMaxOccurs(1);
  builder.setNillable(true);
  
  //build the descriptor
  AttributeDescriptor descriptor = builder.buildDescriptor("intProperty");
 
 

This class maintains state and is not thread safe.

Author:
Justin Deoliveira, The Open Planning Project, jdeolive@openplans.org
Module:
modules/library/main (gt-main.jar)

Field Summary
protected  Class binding
          bound java class
protected  CoordinateReferenceSystem crs
           
protected  Object defaultValue
          default value
protected  String description
          string description
protected  FeatureTypeFactory factory
          factory
protected  FilterFactory2 ff
          filter factory
protected  boolean isAbstract
          abstract flag
protected  boolean isCrsSet
           
protected  boolean isDefaultValueSet
           
protected  boolean isIdentifiable
          identifiable flag
protected  boolean isNillable
          True if value is allowed to be null.
protected  Integer length
          If this value is set an additional restriction will be added based on the length function.
protected  Integer maxOccurs
          Maximum number of occurrences allowed.
protected  Integer minOccurs
          Minimum number of occurrences allowed.
protected  String name
          Local name used to name a descriptor; or combined with namespaceURI to name a type.
protected  String namespaceURI
          namespace used to distingish between otherwise identical type names.
protected  List<Filter> restrictions
          restrictions
protected  AttributeType superType
          super type
protected  Map userData
          User data for the attribute.
 
Constructor Summary
AttributeTypeBuilder()
          Constructs the builder.
AttributeTypeBuilder(FeatureTypeFactory factory)
          Constructs the builder specifying the factory used to build attribute types.
 
Method Summary
 AttributeTypeBuilder abstrct(boolean isAbstract)
           
 void addRestriction(Filter restriction)
           
 void addUserData(Object key, Object value)
           
 AttributeTypeBuilder binding(Class binding)
           
 AttributeDescriptor buildDescriptor(Name name, AttributeType type)
           
 GeometryDescriptor buildDescriptor(Name name, GeometryType type)
           
 AttributeDescriptor buildDescriptor(String name)
          Builds an attribute descriptor first building an attribute type from internal state.
 AttributeDescriptor buildDescriptor(String name, AttributeType type)
          Builds an attribute descriptor specifying its attribute type.
 GeometryDescriptor buildDescriptor(String name, GeometryType type)
          Builds a geometry descriptor specifying its attribute type.
 GeometryType buildGeometryType()
          Builds the geometry attribute type.
 AttributeType buildType()
          Builds the attribute type.
 AttributeTypeBuilder crs(CoordinateReferenceSystem crs)
           
 AttributeTypeBuilder defaultValue(Object defaultValue)
           
 AttributeTypeBuilder description(String description)
           
 AttributeTypeBuilder identifiable(boolean isIdentifiable)
           
protected  void init()
          Resets all internal state.
 void init(AttributeDescriptor descriptor)
          Initializes builder state from another attribute descriptor.
 AttributeTypeBuilder init(AttributeType type)
          Initializes builder state from another attribute type.
 boolean isCRSSet()
           
 AttributeTypeBuilder length(int length)
           
protected  Filter lengthRestriction(int length)
          Helper method to create a "length" filter.
 AttributeTypeBuilder maxOccurs(int maxOccurs)
           
 AttributeTypeBuilder minOccurs(int minOccurs)
           
 AttributeTypeBuilder name(String name)
           
 AttributeTypeBuilder namespaceURI(String namespaceURI)
           
 AttributeTypeBuilder nillable(boolean isNillable)
           
protected  void resetDescriptorState()
           
protected  void resetTypeState()
          Resets all builder state used to build the attribute type.
 AttributeTypeBuilder restriction(Filter restriction)
           
protected  List<Filter> restrictions()
           
 void setAbstract(boolean isAbstract)
           
 void setBinding(Class binding)
           
 void setCRS(CoordinateReferenceSystem crs)
           
 void setDefaultValue(Object defaultValue)
           
 void setDescription(String description)
           
 AttributeTypeBuilder setFactory(FeatureTypeFactory factory)
           
 void setIdentifiable(boolean isIdentifiable)
           
 void setLength(int length)
           
 void setMaxOccurs(int maxOccurs)
           
 void setMinOccurs(int minOccurs)
           
 void setName(String name)
           
 void setNamespaceURI(String namespaceURI)
           
 void setNillable(boolean isNillable)
           
protected  String typeName()
           
 AttributeTypeBuilder userData(Object key, Object value)
           
 
Methods inherited from class Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

factory

protected FeatureTypeFactory factory
factory


name

protected String name
Local name used to name a descriptor; or combined with namespaceURI to name a type.


namespaceURI

protected String namespaceURI
namespace used to distingish between otherwise identical type names.


isAbstract

protected boolean isAbstract
abstract flag


restrictions

protected List<Filter> restrictions
restrictions


description

protected String description
string description


isIdentifiable

protected boolean isIdentifiable
identifiable flag


binding

protected Class binding
bound java class


superType

protected AttributeType superType
super type


defaultValue

protected Object defaultValue
default value


isDefaultValueSet

protected boolean isDefaultValueSet

crs

protected CoordinateReferenceSystem crs

isCrsSet

protected boolean isCrsSet

minOccurs

protected Integer minOccurs
Minimum number of occurrences allowed. See minOccurs() function for the default value based on nillable if not explicitly set.


maxOccurs

protected Integer maxOccurs
Maximum number of occurrences allowed. See maxOccurs() function for the default value (of 1).


isNillable

protected boolean isNillable
True if value is allowed to be null.

Depending on this value minOccurs, maxOccurs and defaultValue() will return different results.

The default value is true.


length

protected Integer length
If this value is set an additional restriction will be added based on the length function.


userData

protected Map userData
User data for the attribute.


ff

protected FilterFactory2 ff
filter factory

Constructor Detail

AttributeTypeBuilder

public AttributeTypeBuilder()
Constructs the builder.


AttributeTypeBuilder

public AttributeTypeBuilder(FeatureTypeFactory factory)
Constructs the builder specifying the factory used to build attribute types.

Method Detail

init

protected void init()
Resets all internal state.


resetTypeState

protected void resetTypeState()
Resets all builder state used to build the attribute type.

This method is called automatically after buildType() and buildGeometryType().


resetDescriptorState

protected void resetDescriptorState()

setFactory

public AttributeTypeBuilder setFactory(FeatureTypeFactory factory)

init

public AttributeTypeBuilder init(AttributeType type)
Initializes builder state from another attribute type.


init

public void init(AttributeDescriptor descriptor)
Initializes builder state from another attribute descriptor.


setBinding

public void setBinding(Class binding)

setName

public void setName(String name)

setNamespaceURI

public void setNamespaceURI(String namespaceURI)

setCRS

public void setCRS(CoordinateReferenceSystem crs)

isCRSSet

public boolean isCRSSet()

setDescription

public void setDescription(String description)

setAbstract

public void setAbstract(boolean isAbstract)

setIdentifiable

public void setIdentifiable(boolean isIdentifiable)

setLength

public void setLength(int length)

addRestriction

public void addRestriction(Filter restriction)

addUserData

public void addUserData(Object key,
                        Object value)

setNillable

public void setNillable(boolean isNillable)

setMaxOccurs

public void setMaxOccurs(int maxOccurs)

setMinOccurs

public void setMinOccurs(int minOccurs)

setDefaultValue

public void setDefaultValue(Object defaultValue)

binding

public AttributeTypeBuilder binding(Class binding)

name

public AttributeTypeBuilder name(String name)

namespaceURI

public AttributeTypeBuilder namespaceURI(String namespaceURI)

crs

public AttributeTypeBuilder crs(CoordinateReferenceSystem crs)

description

public AttributeTypeBuilder description(String description)

abstrct

public AttributeTypeBuilder abstrct(boolean isAbstract)

identifiable

public AttributeTypeBuilder identifiable(boolean isIdentifiable)

length

public AttributeTypeBuilder length(int length)

restriction

public AttributeTypeBuilder restriction(Filter restriction)

nillable

public AttributeTypeBuilder nillable(boolean isNillable)

maxOccurs

public AttributeTypeBuilder maxOccurs(int maxOccurs)

minOccurs

public AttributeTypeBuilder minOccurs(int minOccurs)

defaultValue

public AttributeTypeBuilder defaultValue(Object defaultValue)

userData

public AttributeTypeBuilder userData(Object key,
                                     Object value)

buildType

public AttributeType buildType()
Builds the attribute type.

This method resets all state after the attribute is built.


typeName

protected String typeName()

buildGeometryType

public GeometryType buildGeometryType()
Builds the geometry attribute type.

This method resets all state after the attribute is built.


buildDescriptor

public AttributeDescriptor buildDescriptor(String name)
Builds an attribute descriptor first building an attribute type from internal state.

If crs has been set via setCRS(CoordinateReferenceSystem) the internal attribute type will be built via buildGeometryType(), otherwise it will be built via buildType().

This method calls through to buildDescriptor(String, AttributeType).

Parameters:
name - The name of the descriptor.
See Also:
buildDescriptor(String, AttributeType)

buildDescriptor

public AttributeDescriptor buildDescriptor(String name,
                                           AttributeType type)
Builds an attribute descriptor specifying its attribute type.

Internal state is reset after the descriptor is built.

Parameters:
name - The name of the descriptor.
type - The type referenced by the descriptor.

buildDescriptor

public GeometryDescriptor buildDescriptor(String name,
                                          GeometryType type)
Builds a geometry descriptor specifying its attribute type.

Internal state is reset after the descriptor is built.

Parameters:
name - The name of the descriptor.
type - The geometry type referenced by the descriptor.

buildDescriptor

public AttributeDescriptor buildDescriptor(Name name,
                                           AttributeType type)

buildDescriptor

public GeometryDescriptor buildDescriptor(Name name,
                                          GeometryType type)

restrictions

protected List<Filter> restrictions()

lengthRestriction

protected Filter lengthRestriction(int length)
Helper method to create a "length" filter.



Copyright © 1996-2010 Geotools. All Rights Reserved.