Class FeatureCollectionWrapper
- java.lang.Object
-
- org.locationtech.jts.jump.feature.FeatureCollectionWrapper
-
- All Implemented Interfaces:
FeatureCollection
- Direct Known Subclasses:
IndexedFeatureCollection,ObservableFeatureCollection,OneItemFeatureCollection
public abstract class FeatureCollectionWrapper extends Object implements FeatureCollection
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
Constructors Constructor Description FeatureCollectionWrapper(FeatureCollection fc)Constructs a FeatureCollectionWrapper that delegates to the given FeatureCollection.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidadd(Feature feature)Adds a feature to this collection.voidaddAll(Collection features)Adds multiple features to this collection.voidcheckNotWrappingSameClass()Throws 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.EnvelopegetEnvelope()Returns the bounds of this collection.ListgetFeatures()Returns an unmodifiable List of the features in this collectionFeatureSchemagetFeatureSchema()Returns information about this FeatureCollectionFeatureCollectiongetUltimateWrappee()Returns the non-wrapper FeatureCollection wrapped by this wrapper and possibly by other wrappers in-between.FeatureCollectiongetWrappee()Returns the FeatureCollection that this wrapper delegates to (possibly another FeatureCollectionWrapper).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.Iteratoriterator()Returns an Iterator over the featuresListquery(org.locationtech.jts.geom.Envelope envelope)A quick search for features, using an envelope comparison.Collectionremove(org.locationtech.jts.geom.Envelope env)Removes the features which intersect the given envelopevoidremove(Feature feature)Removes a feature from this collection.voidremoveAll(Collection features)Removes multiple features from this collection.intsize()Returns the number of features in this collection.
-
-
-
Constructor Detail
-
FeatureCollectionWrapper
public FeatureCollectionWrapper(FeatureCollection fc)
Constructs a FeatureCollectionWrapper that delegates to the given FeatureCollection.
-
-
Method Detail
-
getUltimateWrappee
public FeatureCollection 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:
getWrappee()
-
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
public Collection remove(org.locationtech.jts.geom.Envelope env)
Description copied from interface:FeatureCollectionRemoves the features which intersect the given envelope- Specified by:
removein interfaceFeatureCollection- Returns:
- the removed features
-
hasWrapper
public boolean hasWrapper(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).
-
getWrappee
public FeatureCollection getWrappee()
Returns the FeatureCollection that this wrapper delegates to (possibly another FeatureCollectionWrapper).- See Also:
getUltimateWrappee()
-
getFeatureSchema
public FeatureSchema 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
public List 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
public Iterator iterator()
Description copied from interface:FeatureCollectionReturns an Iterator over the features- Specified by:
iteratorin interfaceFeatureCollection- Returns:
- an Iterator over the features
-
query
public List query(org.locationtech.jts.geom.Envelope envelope)
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
public void add(Feature feature)
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
public void remove(Feature feature)
Description copied from interface:FeatureCollectionRemoves a feature from this collection.- Specified by:
removein interfaceFeatureCollection- Parameters:
feature- a Feature to remove from this collection
-
addAll
public void addAll(Collection features)
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
public void removeAll(Collection features)
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
-
-