org.geotools.feature
Interface FeatureIndex

All Superinterfaces:
CollectionListener

public interface FeatureIndex
extends CollectionListener

An Index is built up around a FeatureCollection, using one of the attributes in the FeatureCollection as a comparable reference.

An object in a column can be any object, but must either be a java base-type Object (Integer, String, Character, etc.) or implement Comparable.

An Index built on such a column will sort its array of object references using FeatureComparator. Implement this to perform more complex Index building.

Version:
$Id: FeatureIndex.java 17701 2006-01-23 00:00:51Z desruisseaux $
Author:
Ray Gallagher, Ian Schneider

Method Summary
 java.util.Collection find(java.lang.Object key)
          Find all the Features within this index using a key.
 Feature findFirst(java.lang.Object key)
          Find the first Feature using the given key.
 java.util.Iterator getFeatures()
          Gets an "in order" Iterator of the Features as indexed.
 
Methods inherited from interface org.geotools.feature.CollectionListener
collectionChanged
 

Method Detail

getFeatures

public java.util.Iterator getFeatures()
Gets an "in order" Iterator of the Features as indexed.

Returns:
An Iterator of the Features within this index.

find

public java.util.Collection find(java.lang.Object key)
                          throws java.lang.IllegalArgumentException
Find all the Features within this index using a key.

Parameters:
key - A key to look up the Features with.
Returns:
A java.util.Collection containing the matches. May be empty.
Throws:
java.lang.IllegalArgumentException - If the key is incompatable with this index.

findFirst

public Feature findFirst(java.lang.Object key)
                  throws java.lang.IllegalArgumentException
Find the first Feature using the given key.

Parameters:
key - A key to look up the Feature with.
Returns:
A Feature, or null if none is found.
Throws:
java.lang.IllegalArgumentException - If the key is incompatable with this index.


Copyright © GeoTools. All Rights Reserved.