deegree 2.1 (2007/11/08 09:57 build-328-official)

org.deegree.model.feature
Class DefaultFeatureCollection

java.lang.Object
  extended by org.deegree.model.feature.AbstractFeature
      extended by org.deegree.model.feature.AbstractFeatureCollection
          extended by org.deegree.model.feature.DefaultFeatureCollection
All Implemented Interfaces:
Serializable, Feature, FeatureCollection

 class DefaultFeatureCollection
extends AbstractFeatureCollection
implements Serializable

This interface provides services for the management of groups of features. These groups can come into being for a number of reasons: e.g. a project as a whole, for the scope of a query, as the result of a query or arbitrarily selected by a user for some common manipulation. A feature's membership of a particular FeatureCollection does not necessarily imply any relationship with other member features. Composite or compound features which own constituent member Features (e.g. an Airport composed of Terminals, Runways, Aprons, Hangars, etc) may also support the FeatureCollection interface to provide a generic means for clients to access constituent members without needing to be aware of the internal implementation details of the compound feature.

-----------------------------------------------------------------------

Version:
$Revision: 6840 $ $Date: 2007-05-07 10:27:43 +0200 (Mo, 07 Mai 2007) $
Author:
Andreas Poth

Field Summary
 
Fields inherited from class org.deegree.model.feature.AbstractFeature
description, envelopeCalculated, featureType, owner
 
Constructor Summary
DefaultFeatureCollection(String id, Feature[] feature)
          constructor for initializing a featur collection with an id and an array of features.
DefaultFeatureCollection(String id, int initialCapacity)
           
 
Method Summary
 void add(Feature feature)
          Appends a feature to the collection.
 void addProperty(FeatureProperty property)
          Adds the given property to the feature's properties.
 Envelope getBoundedBy()
          returns the envelope / boundingbox of the feature collection
 FeatureProperty getDefaultProperty(PropertyPath path)
          Returns the property of the feature identified by the given PropertyPath.
 Feature getFeature(int index)
          returns the feature that is assigned to the submitted index.
 Feature getFeature(String id)
          returns the feature that is assigned to the submitted id.
 FeatureType getFeatureType()
          returns the FeatureType of this Feature(Collection)
 Iterator iterator()
          returns an Iterator on the feature contained in a collection
 Feature remove(Feature feature)
          removes the submitted feature from the collection
 Feature remove(int index)
          removes a feature identified by its index from the feature collection.
 void removeProperty(QualifiedName propertyName)
          Removes the properties with the given name.
 void replaceProperty(FeatureProperty oldProperty, FeatureProperty newProperty)
          Replaces the given property with a new one.
 void setProperty(FeatureProperty property, int index)
          Sets the value for the given property.
 int size()
          returns the number of features within the collection
 Feature[] toArray()
          returns an array of all features
 String toString()
           
 
Methods inherited from class org.deegree.model.feature.AbstractFeatureCollection
addAll, addAll, getDefaultGeometryPropertyValue, getDefaultProperty, getGeometryPropertyValues, getProperties, getProperties, getProperties, remove, setProperty
 
Methods inherited from class org.deegree.model.feature.AbstractFeature
getAttribute, getAttributes, getDescription, getId, getName, getOwner, resetBounds, setAttribute, setEnvelopesUpdated, setFeatureType, setId
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface org.deegree.model.feature.Feature
getAttribute, getAttributes, getDescription, getId, getName, getOwner, setAttribute, setEnvelopesUpdated, setFeatureType, setId
 

Constructor Detail

DefaultFeatureCollection

DefaultFeatureCollection(String id,
                         int initialCapacity)

DefaultFeatureCollection

DefaultFeatureCollection(String id,
                         Feature[] feature)
constructor for initializing a featur collection with an id and an array of features.

Method Detail

getFeatureType

public FeatureType getFeatureType()
returns the FeatureType of this Feature(Collection)

Specified by:
getFeatureType in interface Feature
Overrides:
getFeatureType in class AbstractFeature
Returns:
the feature type of this feature

toArray

public Feature[] toArray()
returns an array of all features

Specified by:
toArray in interface FeatureCollection

iterator

public Iterator iterator()
returns an Iterator on the feature contained in a collection

Specified by:
iterator in interface FeatureCollection
Returns:
an Iterator on the feature contained in a collection

getFeature

public Feature getFeature(int index)
returns the feature that is assigned to the submitted index. If the submitted value for index is smaller 0 and larger then the number features within the featurecollection-1 an exeption will be thrown.

Specified by:
getFeature in interface FeatureCollection

getFeature

public Feature getFeature(String id)
returns the feature that is assigned to the submitted id. If no valid feature could be found an Object[] with zero length will be returned.

Specified by:
getFeature in interface FeatureCollection

remove

public Feature remove(Feature feature)
removes the submitted feature from the collection

Specified by:
remove in interface FeatureCollection

remove

public Feature remove(int index)
removes a feature identified by its index from the feature collection. The removed feature will be returned. If the submitted value for index is smaller 0 and larger then the number features within the featurecollection-1 an ArrayIndexOutOfBoundsExcpetion will raise

Specified by:
remove in interface FeatureCollection

add

public void add(Feature feature)
Appends a feature to the collection. If the submitted feature doesn't matches the feature type defined for all features within the collection an exception will be thrown.

Specified by:
add in interface FeatureCollection

size

public int size()
returns the number of features within the collection

Specified by:
size in interface FeatureCollection

setProperty

public void setProperty(FeatureProperty property,
                        int index)
Description copied from interface: Feature
Sets the value for the given property. The index is needed to specify the occurences of the property that is to be replaced. Set to 0 for properties that may only occur once.

Specified by:
setProperty in interface Feature
Parameters:
property - property name and the property's new value
index - position of the property that is to be replaced

addProperty

public void addProperty(FeatureProperty property)
Description copied from interface: Feature
Adds the given property to the feature's properties. The position of the property is determined by the feature type. If the feature already has a property with this name, it is inserted behind it.

Specified by:
addProperty in interface Feature
Parameters:
property - property to insert

removeProperty

public void removeProperty(QualifiedName propertyName)
Description copied from interface: Feature
Removes the properties with the given name.

Specified by:
removeProperty in interface Feature
Parameters:
propertyName - name of the properties to remove

replaceProperty

public void replaceProperty(FeatureProperty oldProperty,
                            FeatureProperty newProperty)
Description copied from interface: Feature
Replaces the given property with a new one.

Specified by:
replaceProperty in interface Feature
Parameters:
oldProperty - property to be replaced
newProperty - new property

getBoundedBy

public Envelope getBoundedBy()
                      throws GeometryException
returns the envelope / boundingbox of the feature collection

Specified by:
getBoundedBy in interface Feature
Overrides:
getBoundedBy in class AbstractFeature
Returns:
the envelope / bounding box of the feature
Throws:
GeometryException

toString

public String toString()
Overrides:
toString in class Object

getDefaultProperty

public FeatureProperty getDefaultProperty(PropertyPath path)
                                   throws PropertyPathResolvingException
Description copied from interface: Feature
Returns the property of the feature identified by the given PropertyPath. NOTE: Current implementation does not handle multiple properties (on the path) or index addressing in the path.

Specified by:
getDefaultProperty in interface Feature
Parameters:
path - the path of the property to look up
Returns:
the property of the feature identified by the given PropertyPath
Throws:
PropertyPathResolvingException
See Also:
PropertyPath

deegree 2.1 (2007/11/08 09:57 build-328-official)

an open source project founded by lat/lon, Bonn, Germany.
For more information visit: http://deegree.sourceforge.net