Overview | Package | Class | Use | Tree | Deprecated | Index | Help
| deegree 2.4 (2010/11/11 10:47 build-27-official)
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## org.deegree.model.feature
Class DefaultFeatureCollection

    java.lang.Object
      org.deegree.model.feature.AbstractFeature
          org.deegree.model.feature.AbstractFeatureCollection
              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: 18195 $ $Date: 2009-06-18 17:55:39 +0200 (Do, 18. Jun 2009) $
Author:
  Andreas Poth

Field Summary

Fields inherited from class org.deegree.model.feature.AbstractFeature
`description, envelopeCalculated, featureType, owner`

Constructor Summary
`DefaultFeatureCollection(String id, Feature[] features)` constructor for initializing a feature collection with an id and an array of features.
`DefaultFeatureCollection(String id, Feature[] features, QualifiedName qName)` Constructor for initializing a feature 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.
`void` | `clear()` removes all features from a collection
`Object` | `clone()`
`Feature` | `cloneDeep()`
`Envelope` | `getBoundedBy()` Returns the envelope / boundingbox of the feature.
`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)`
`FeatureType` | `getFeatureType()` returns the FeatureType of this Feature
`Iterator<Feature>` | `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` | `setEnvelopesUpdated()` Signals that the envelopes of the geometry properties have been updated.
`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, addAllUncontained, addAllUncontained, 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, setFeatureType, setId`

Methods inherited from class java.lang.Object
`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, setFeatureType, setId`

Constructor Detail

### DefaultFeatureCollection

    DefaultFeatureCollection(String id,
                             int initialCapacity)

### DefaultFeatureCollection

    DefaultFeatureCollection(String id,
                             Feature[] features)

  constructor for initializing a feature collection with an id and an array of features.

### DefaultFeatureCollection

    DefaultFeatureCollection(String id,
                             Feature[] features,
                             QualifiedName qName)

  Constructor for initializing a feature collection with an id and an array of features. It's name will be taken from the given name.

  Parameters:
    `id` - of the feature collection
    `features` - to be added
    `qName` - of the feature collection, if `null` the default name of wfs:FeatureCollection will be given.

Method Detail

### clear

    public void clear()

  Description copied from interface: `FeatureCollection`
  removes all features from a collection

  Specified by:
    `clear` in interface `FeatureCollection`

### getFeatureType

    public FeatureType getFeatureType()

  Description copied from class: `AbstractFeature`
  returns the FeatureType of this Feature

  Specified by:
    `getFeatureType` in interface `Feature`
  Overrides:
    `getFeatureType` in class `AbstractFeature`
  Returns:
    the FeatureType of this Feature(Collection)

### toArray

    public Feature[] toArray()

  returns an array of all features

  Specified by:
    `toArray` in interface `FeatureCollection`
  Returns:
    an array of all features

### iterator

    public Iterator<Feature> 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`
  Parameters:
    `index` - of the feature.
  Returns:
    the feature at the submitted index

### getFeature

    public Feature getFeature(String id)

  Specified by:
    `getFeature` in interface `FeatureCollection`
  Parameters:
    `id` - of the feature
  Returns:
    the feature that is assigned to the submitted id. If no valid feature could be found `null` will be returned.

### remove

    public Feature remove(Feature feature)

  removes the submitted feature from the collection

  Specified by:
    `remove` in interface `FeatureCollection`
  Parameters:
    `feature` - to remove
  Returns:
    removed feature

### 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`
  Parameters:
    `index` - of the feature to remove.
  Returns:
    removed feature

### 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`
  Parameters:
    `feature` - to add.

### size

    public int size()

  returns the number of features within the collection

  Specified by:
    `size` in interface `FeatureCollection`
  Returns:
    the number of features within the collection

### 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

  Description copied from class: `AbstractFeature`
  Returns the envelope / boundingbox of the feature. The bounding box will be created in a recursion. That means if a property of the feature (a) contains another feature (b) the bounding box of b will be merged with the bounding box calculated from the geometry properties of a. A feature has no geometry properties and no properties that are features (and having a bounding box theirself) `null` will be returned.

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

### setEnvelopesUpdated

    public void setEnvelopesUpdated()

  Description copied from class: `AbstractFeature`
  Signals that the envelopes of the geometry properties have been updated.

  Specified by:
    `setEnvelopesUpdated` in interface `Feature`
  Overrides:
    `setEnvelopesUpdated` in class `AbstractFeature`

### 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`

### clone

    public Object clone()
                 throws CloneNotSupportedException

  Specified by:
    `clone` in interface `Feature`
  Overrides:
    `clone` in class `AbstractFeature`
  Returns:
    a shallow clone of a feature collection. Property values of contained features will not be cloned except for properties that are features (DefaultFeature) or feature collections (DefaultFeatureCollection).
  Throws:
    `CloneNotSupportedException`

### cloneDeep

    public Feature cloneDeep()
                      throws CloneNotSupportedException

  Specified by:
    `cloneDeep` in interface `Feature`
  Returns:
    a deep clone of a feature. All not simple properties (incl. geometries) will be cloned
  Throws:
    `CloneNotSupportedException`

Overview | Package | Class | Use | Tree | Deprecated | Index | Help
| deegree 2.4 (2010/11/11 10:47 build-27-official)
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

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