|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
ObjectSpatialIndexFeatureCollection
public class SpatialIndexFeatureCollection
FeatureCollection used to stage information for display using a SpatialIndex.
Please note that this feature collection cannot be modified after the spatial index is created.
| Field Summary | |
|---|---|
protected STRtree |
index
SpatialIndex holding the contents of the FeatureCollection |
protected List<CollectionListener> |
listeners
Listeners |
protected SimpleFeatureType |
schema
|
| Constructor Summary | |
|---|---|
SpatialIndexFeatureCollection()
|
|
SpatialIndexFeatureCollection(SimpleFeatureCollection copy)
|
|
SpatialIndexFeatureCollection(SimpleFeatureType schema)
|
|
| Method Summary | ||
|---|---|---|
void |
accepts(FeatureVisitor visitor,
ProgressListener listener)
Visit the contents of a feature collection. |
|
boolean |
add(SimpleFeature feature)
Add object to this collection. |
|
boolean |
addAll(Collection<? extends SimpleFeature> collection)
Add all the objects to the collection. |
|
boolean |
addAll(FeatureCollection<? extends SimpleFeatureType,? extends SimpleFeature> collection)
|
|
void |
addListener(CollectionListener listener)
Adds a listener for collection events. |
|
void |
clear()
|
|
void |
close(FeatureIterator<SimpleFeature> close)
Clean up after any resources associated with this FeatureIterator in a manner similar to JDO collections. |
|
void |
close(Iterator<SimpleFeature> close)
Clean up after any resources associated with this itterator in a manner similar to JDO collections. |
|
boolean |
contains(Object obj)
|
|
boolean |
containsAll(Collection<?> collection)
|
|
SimpleFeatureIterator |
features()
Obtain a FeatureIterator |
|
protected void |
fire(SimpleFeature[] features,
int eventType)
|
|
ReferencedEnvelope |
getBounds()
Get the total bounds of this collection which is calculated by doing a union of the bounds of each feature inside of it |
|
String |
getID()
ID used when serializing to GML |
|
SimpleFeatureType |
getSchema()
The schema for the child feature members of this collection. |
|
boolean |
isEmpty()
|
|
Iterator<SimpleFeature> |
iterator()
An iterator over this collection, which must be closed after use. |
|
void |
purge()
Close any outstanding resources released by this resources. |
|
boolean |
remove(Object o)
|
|
boolean |
removeAll(Collection<?> c)
|
|
void |
removeListener(CollectionListener listener)
Removes a listener for collection events. |
|
boolean |
retainAll(Collection<?> c)
|
|
int |
size()
Will build the STRtree index if required. |
|
SimpleFeatureCollection |
sort(SortBy order)
Obtained sorted contents. |
|
SimpleFeatureCollection |
subCollection(Filter filter)
SimpleFeatureCollection "view" indicated by provided filter. |
|
Object[] |
toArray()
|
|
|
toArray(O[] array)
|
|
| Methods inherited from class Object |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Field Detail |
|---|
protected STRtree index
protected SimpleFeatureType schema
protected List<CollectionListener> listeners
| Constructor Detail |
|---|
public SpatialIndexFeatureCollection()
public SpatialIndexFeatureCollection(SimpleFeatureType schema)
public SpatialIndexFeatureCollection(SimpleFeatureCollection copy)
throws IOException
IOException| Method Detail |
|---|
public void addListener(CollectionListener listener)
throws NullPointerException
FeatureCollectionWhen this collection is backed by live data the event notification will follow the guidelines outlined by FeatureListner.
addListener in interface FeatureCollection<SimpleFeatureType,SimpleFeature>listener - The listener to add
NullPointerException - If the listener is null.
public void removeListener(CollectionListener listener)
throws NullPointerException
FeatureCollection
removeListener in interface FeatureCollection<SimpleFeatureType,SimpleFeature>listener - The listener to remove
NullPointerException - If the listener is null.
protected void fire(SimpleFeature[] features,
int eventType)
public SimpleFeatureIterator features()
FeatureCollection
The implementation of Collection must adhere to the rules of
fail-fast concurrent modification. In addition (to allow for
resource backed collections, the close( Iterator )
method must be called.
This is almost equivalent to:
getAttribute(getFeatureType().getAttributeType(0).getName()).iterator();.
Iterator<Feature>
FeatureIterator iterator=collection.features();
try {
while( iterator.hasNext() ){
Feature feature = iterator.next();
System.out.println( feature.getID() );
}
}
finally {
collection.close( iterator );
}
GML Note: The contents of this iterator are considered to be defined by featureMember tags (and/or the single allowed FeatureMembers tag). Please see getFeatureType for more details.
features in interface SimpleFeatureCollectionfeatures in interface FeatureCollection<SimpleFeatureType,SimpleFeature>public SimpleFeatureCollection sort(SortBy order)
FeatureCollectionThis method may not be supported by all implementations, consider the use of FeatureSource.features( Query ).
sort in interface SimpleFeatureCollectionsort in interface FeatureCollection<SimpleFeatureType,SimpleFeature>order - Sort order
public SimpleFeatureCollection subCollection(Filter filter)
FeatureCollectionThe contents of the returned SimpleFeatureCollection are determined by applying the provider Filter to the entire contents of this FeatureCollection. The result is "live" and modifications will be shared.
This method is used cut down on the number of filter based methods required for a useful SimpleFeatureCollection construct. The FeatureCollections returned really should be considered as a temporary "view" used to control the range of a removeAll, or modify operation.
Example Use:
collection.subCollection( filter ).clear();
The above recommended use is agreement with the Collections API precident of
List.subList( start, end ).
The results of subCollection:
subCollection in interface SimpleFeatureCollectionsubCollection in interface FeatureCollection<SimpleFeatureType,SimpleFeature>FeatureList
public void accepts(FeatureVisitor visitor,
ProgressListener listener)
throws IOException
FeatureCollectionThe order of traversal is dependent on the FeatureCollection implementation; some collections are able to make efficient use of an internal index in order to quickly visit features located in the same region.
accepts in interface FeatureCollection<SimpleFeatureType,SimpleFeature>visitor - Closure applied to each feature in turn.listener - Used to report progress, may be used to interrupt the operation
IOExceptionpublic boolean add(SimpleFeature feature)
FeatureCollectionThis method is often not impelmented for collections produced as the result of a query.
add in interface FeatureCollection<SimpleFeatureType,SimpleFeature>Collection.add(Object)public boolean addAll(Collection<? extends SimpleFeature> collection)
FeatureCollectionThis method is often not implemented for collections produced as the results of a query.
addAll in interface FeatureCollection<SimpleFeatureType,SimpleFeature>Collection.addAll(Collection)public boolean addAll(FeatureCollection<? extends SimpleFeatureType,? extends SimpleFeature> collection)
addAll in interface FeatureCollection<SimpleFeatureType,SimpleFeature>FeatureCollection.addAll(Collection)public void clear()
clear in interface FeatureCollection<SimpleFeatureType,SimpleFeature>Collection.clear()public void close(FeatureIterator<SimpleFeature> close)
FeatureCollection
Iterator iterator = collection.iterator();
try {
for( Iterator i=collection.iterator(); i.hasNext();){
Feature feature = i.hasNext();
System.out.println( feature.getID() );
}
}
finally {
collection.close( iterator );
}
close in interface FeatureCollection<SimpleFeatureType,SimpleFeature>public void close(Iterator<SimpleFeature> close)
FeatureCollection
Iterator iterator = collection.iterator();
try {
for( Iterator i=collection.iterator(); i.hasNext();){
Feature feature = (Feature) i.hasNext();
System.out.println( feature.getID() );
}
}
finally {
collection.close( iterator );
}
close in interface FeatureCollection<SimpleFeatureType,SimpleFeature>public boolean contains(Object obj)
contains in interface FeatureCollection<SimpleFeatureType,SimpleFeature>Collection.contains(Object)public boolean containsAll(Collection<?> collection)
containsAll in interface FeatureCollection<SimpleFeatureType,SimpleFeature>Collection.containsAll(Collection)public ReferencedEnvelope getBounds()
FeatureCollection
getBounds in interface FeatureCollection<SimpleFeatureType,SimpleFeature>public String getID()
FeatureCollection
getID in interface FeatureCollection<SimpleFeatureType,SimpleFeature>public SimpleFeatureType getSchema()
FeatureCollectionRepresents the most general FeatureType in common to all the features in this collection.
getSchema in interface FeatureCollection<SimpleFeatureType,SimpleFeature>public boolean isEmpty()
isEmpty in interface FeatureCollection<SimpleFeatureType,SimpleFeature>Collection.isEmpty()public Iterator<SimpleFeature> iterator()
FeatureCollectionCollection is not guaranteed to be ordered in any manner.
The implementation of Collection must adhere to the rules of
fail-fast concurrent modification. In addition (to allow for
resource backed collections, the close( Iterator )
method must be called.
Example (safe) use:
Iterator iterator = collection.iterator();
try {
while( iterator.hasNext();){
Feature feature = (Feature) iterator.hasNext();
System.out.println( feature.getID() );
}
}
finally {
collection.close( iterator );
}
iterator in interface FeatureCollection<SimpleFeatureType,SimpleFeature>public void purge()
FeatureCollectionThis method should be used with great caution, it is however available to allow the use of the ResourceCollection with algorthims that are unaware of the need to close iterators after use.
Example of using a normal Collections utility method:
Collections.sort( collection );
collection.purge();
purge in interface FeatureCollection<SimpleFeatureType,SimpleFeature>public boolean remove(Object o)
remove in interface FeatureCollection<SimpleFeatureType,SimpleFeature>Collection.remove(Object)public boolean removeAll(Collection<?> c)
removeAll in interface FeatureCollection<SimpleFeatureType,SimpleFeature>Collection.removeAll(Collection)public boolean retainAll(Collection<?> c)
retainAll in interface FeatureCollection<SimpleFeatureType,SimpleFeature>Collection.retainAll(Collection)public int size()
size in interface FeatureCollection<SimpleFeatureType,SimpleFeature>Collection.size()public Object[] toArray()
toArray in interface FeatureCollection<SimpleFeatureType,SimpleFeature>Collection.toArray()public <O> O[] toArray(O[] array)
toArray in interface FeatureCollection<SimpleFeatureType,SimpleFeature>Collection.toArray(Object[])
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||