Class FeatureCollectionWrapper
java.lang.Object
com.vividsolutions.jump.feature.FeatureCollectionWrapper
- All Implemented Interfaces:
FeatureCollection, Iterable<Feature>
- Direct Known Subclasses:
CachingFeatureCollection, IndexedFeatureCollection, ObservableFeatureCollection, OneItemFeatureCollection
Delegates to another instance of FeatureCollection. A useful means of
overriding the behaviour of a FeatureCollection dynamically, at run-time
(i.e. without subclassing).
-
Constructor Summary
ConstructorsConstructorDescriptionConstructs a FeatureCollectionWrapper that delegates to the given FeatureCollection. -
Method Summary
Modifier and TypeMethodDescriptionvoidAdds a feature to this collection.voidaddAll(Collection<Feature> features) Adds multiple features to this collection.voidThrows an AssertionFailedException if this FeatureCollectionWrapper wraps (directly or indirectly) another FeatureCollectionWrapper having the same class (or descendant class thereof).voidclear()Removes all features from this collection.org.locationtech.jts.geom.EnvelopeReturns the bounds of this collection.protected FeatureCollectionReturns an unmodifiable List of the features in this collectionReturns information about this FeatureCollectionReturns the non-wrapper FeatureCollection wrapped by this wrapper and possibly by other wrappers in-between.Returns the FeatureCollection that this wrapper delegates to (possibly another FeatureCollectionWrapper).getWrappee(Class c) Return the wrapper matching the given class or null, if there is none.booleanhasWrapper(Class c) Returns whether this FeatureCollectionWrapper (or a FeatureCollectionWrapper that it wraps, directly or indirectly) is an instance of the given class (or one of its descendants).booleanisEmpty()Returns whether this collection has no features.iterator()Returns an Iterator over the featuresquery(org.locationtech.jts.geom.Envelope envelope) A quick search for features, using an envelope comparison.voidRemoves a feature from this collection.remove(org.locationtech.jts.geom.Envelope env) Removes the features which intersect the given envelopevoidremoveAll(Collection<Feature> features) Removes multiple features from this collection.protected voidsetFeatureCollection(FeatureCollection featureCollection) intsize()Returns the number of features in this collection.Methods inherited from class Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface Iterable
forEach, spliterator
-
Constructor Details
-
FeatureCollectionWrapper
Constructs a FeatureCollectionWrapper that delegates to the given FeatureCollection.
-
-
Method Details
-
getUltimateWrappee
Returns the non-wrapper FeatureCollection wrapped by this wrapper and possibly by other wrappers in-between. Intended to get at the "real" FeatureCollection underneath several layers of FeatureCollectionWrappers.- See Also:
-
checkNotWrappingSameClass
public void checkNotWrappingSameClass()Throws an AssertionFailedException if this FeatureCollectionWrapper wraps (directly or indirectly) another FeatureCollectionWrapper having the same class (or descendant class thereof). A consistency check that is useful for some FeatureCollectionWrapper implementations. -
remove
Description copied from interface:FeatureCollectionRemoves the features which intersect the given envelope- Specified by:
removein interfaceFeatureCollection- Returns:
- the removed features
-
hasWrapper
Returns whether this FeatureCollectionWrapper (or a FeatureCollectionWrapper that it wraps, directly or indirectly) is an instance of the given class (or one of its descendants). -
getWrappee
Return the wrapper matching the given class or null, if there is none.- Parameters:
c- the Class of the wrapper we are looking for- Returns:
- a wrapper of Class c
-
getWrappee
Returns the FeatureCollection that this wrapper delegates to (possibly another FeatureCollectionWrapper).- See Also:
-
getFeatureSchema
Description copied from interface:FeatureCollectionReturns information about this FeatureCollection- Specified by:
getFeatureSchemain interfaceFeatureCollection- Returns:
- the types of the attributes of the features in this collection
-
getEnvelope
public org.locationtech.jts.geom.Envelope getEnvelope()Description copied from interface:FeatureCollectionReturns the bounds of this collection.- Specified by:
getEnvelopein interfaceFeatureCollection- Returns:
- the smallest Envelope enclosing all the Features in this collection
-
size
public int size()Description copied from interface:FeatureCollectionReturns the number of features in this collection.- Specified by:
sizein interfaceFeatureCollection- Returns:
- the number of features in this collection
-
isEmpty
public boolean isEmpty()Description copied from interface:FeatureCollectionReturns whether this collection has no features.- Specified by:
isEmptyin interfaceFeatureCollection- Returns:
- whether or not the size of this collection is 0
-
getFeatures
Description copied from interface:FeatureCollectionReturns an unmodifiable List of the features in this collection- Specified by:
getFeaturesin interfaceFeatureCollection- Returns:
- a read-only view of all the features
-
iterator
Description copied from interface:FeatureCollectionReturns an Iterator over the features- Specified by:
iteratorin interfaceFeatureCollection- Specified by:
iteratorin interfaceIterable<Feature>- Returns:
- an Iterator over the features
-
query
Description copied from interface:FeatureCollectionA quick search for features, using an envelope comparison.- Specified by:
queryin interfaceFeatureCollection- Parameters:
envelope- the envelope to query against- Returns:
- features whose envelopes intersect the given envelope
-
add
Description copied from interface:FeatureCollectionAdds a feature to this collection.- Specified by:
addin interfaceFeatureCollection- Parameters:
feature- a Feature to add to the end of this collection
-
remove
Description copied from interface:FeatureCollectionRemoves a feature from this collection.- Specified by:
removein interfaceFeatureCollection- Parameters:
feature- a Feature to remove from this collection
-
addAll
Description copied from interface:FeatureCollectionAdds multiple features to this collection. To be preferred over #add for adding multiple features, because in some systems (like the JUMP Workbench) fewer events will be fired.- Specified by:
addAllin interfaceFeatureCollection
-
removeAll
Description copied from interface:FeatureCollectionRemoves multiple features from this collection. To be preferred over #remove for removing multiple features, because in some systems (like the JUMP Workbench) fewer events will be fired.- Specified by:
removeAllin interfaceFeatureCollection
-
clear
public void clear()Description copied from interface:FeatureCollectionRemoves all features from this collection.- Specified by:
clearin interfaceFeatureCollection
-
getFeatureCollection
-
setFeatureCollection
-