Package org.geotools.feature
Class FeatureImpl
- Object
-
- PropertyImpl
-
- AttributeImpl
-
- ComplexAttributeImpl
-
- 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, value
-
-
Constructor Summary
Constructors Constructor Description 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
All Methods Instance Methods Concrete Methods Modifier and Type Method Description 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
addValue, find, findAll, findLast, 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, getUserData, isNillable
-
Methods inherited from interface Attribute
getDescriptor
-
Methods inherited from interface ComplexAttribute
getProperties, getProperties, getProperties, getProperty, getProperty, getValue, setValue, validate
-
Methods inherited from interface Property
getName, getUserData, hasUserData, 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 descriptorid
- 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 createdid
- 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 interfaceAttribute
- Specified by:
getType
in interfaceComplexAttribute
- Specified by:
getType
in interfaceFeature
- Specified by:
getType
in interfaceProperty
- Overrides:
getType
in classComplexAttributeImpl
- 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()
istrue
.- Specified by:
getIdentifier
in interfaceAttribute
- Specified by:
getIdentifier
in interfaceFeature
- Overrides:
getIdentifier
in classAttributeImpl
- 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 interfaceFeature
- 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 interfaceFeature
- 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 interfaceFeature
- Parameters:
defaultGeometry
- The new geomtric attribute.
-
-