org.geotools.feature
Class FeatureImpl

Object
  extended by PropertyImpl
      extended by AttributeImpl
          extended by ComplexAttributeImpl
              extended by FeatureImpl
All Implemented Interfaces:
Attribute, ComplexAttribute, Feature, Property

public class FeatureImpl
extends ComplexAttributeImpl
implements Feature

Temptative implementation of Feature.

NOTE this is work in progress and at this time not really being used throughout the library.

Author:
jdeolive, jgarnett

Field Summary
 
Fields inherited from class AttributeImpl
id
 
Fields inherited from class PropertyImpl
descriptor, userData, value
 
Constructor Summary
FeatureImpl(Collection<Property> properties, AttributeDescriptor desc, FeatureId id)
          Create a Feature with the following content.
FeatureImpl(Collection<Property> properties, FeatureType type, FeatureId id)
          Create a Feature with the following content.
 
Method Summary
 BoundingBox getBounds()
          Get the total bounds of this feature which is calculated by doing a union of the bounds of each geometry this feature is associated with.
 GeometryAttribute getDefaultGeometryProperty()
          The default geometric attribute of the feature.
 FeatureId getIdentifier()
          Unique Identifier for the attribute.
 FeatureType getType()
          The type of the property.
 void setDefaultGeometryProperty(GeometryAttribute defaultGeometry)
          Sets the default geometric attribute of the feature.
 
Methods inherited from class ComplexAttributeImpl
getProperties, getProperties, getProperties, getProperty, getProperty, getValue, properties, setValue, setValue
 
Methods inherited from class AttributeImpl
equals, getDescriptor, hashCode, parse, toString, validate
 
Methods inherited from class PropertyImpl
getName, getUserData, isNillable
 
Methods inherited from class Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface ComplexAttribute
getProperties, getProperties, getProperties, getProperty, getProperty, getValue, setValue, validate
 
Methods inherited from interface Attribute
getDescriptor
 
Methods inherited from interface Property
getName, getUserData, isNillable, setValue
 

Constructor Detail

FeatureImpl

public FeatureImpl(Collection<Property> properties,
                   AttributeDescriptor desc,
                   FeatureId id)
Create a Feature with the following content.

Parameters:
properties - Collectio of Properties (aka Attributes and/or Associations)
desc - Nested descriptor
id - Feature ID

FeatureImpl

public FeatureImpl(Collection<Property> properties,
                   FeatureType type,
                   FeatureId id)
Create a Feature with the following content.

Parameters:
properties - Collectio of Properties (aka Attributes and/or Associations)
type - Type of feature to be created
id - Feature ID
Method Detail

getType

public FeatureType getType()
Description copied from interface: Property
The type of the property.

The type contains information about the value or content of the property such as its java class.

This value is also available via getDescriptor().getType().

Specified by:
getType in interface Attribute
Specified by:
getType in interface ComplexAttribute
Specified by:
getType in interface Feature
Specified by:
getType in interface Property
Overrides:
getType in class ComplexAttributeImpl
Returns:
The property type.
See Also:
Property.getType()

getIdentifier

public FeatureId getIdentifier()
Description copied from interface: Attribute
Unique Identifier for the attribute.

This value is non-null in the case that getType().isIdentifiable() is true.

Specified by:
getIdentifier in interface Attribute
Specified by:
getIdentifier in interface Feature
Overrides:
getIdentifier in class AttributeImpl
Returns:
A unique identifier for the attribute, or null if the attribute is non-identifiable.

getBounds

public BoundingBox getBounds()
Get the total bounds of this feature which is calculated by doing a union of the bounds of each geometry this feature is associated with.

Specified by:
getBounds in interface Feature
Returns:
An Envelope containing the total bounds of this Feature.
TODO:
REVISIT: what to return if there are no geometries in the feature? For now we'll return a null envelope, make this part of interface? (IanS - by OGC standards, all Feature must have geom)

getDefaultGeometryProperty

public GeometryAttribute getDefaultGeometryProperty()
Description copied from interface: Feature
The default geometric attribute of the feature.

This method returns null in the case where no such attribute exists.

Specified by:
getDefaultGeometryProperty in interface Feature
Returns:
The default geometry attribute, or null.

setDefaultGeometryProperty

public void setDefaultGeometryProperty(GeometryAttribute defaultGeometry)
Description copied from interface: Feature
Sets the default geometric attribute of the feature.

This value must be an attribute which is already defined for the feature. In other words, this method can not be used to add a new attribute to the feature.

Specified by:
setDefaultGeometryProperty in interface Feature
Parameters:
defaultGeometry - The new geomtric attribute.


Copyright © 1996-2014 Geotools. All Rights Reserved.