Object
AbstractResource
AbstractFeatureSet
- All Implemented Interfaces:
DataSet
,FeatureSet
,Resource
- Direct Known Subclasses:
ConcatenatedFeatureSet
,JoinFeatureSet
Default implementations of several methods for classes that want to implement the
FeatureSet
interface.
Subclasses should override the following methods:
FeatureSet.getType()
(mandatory)FeatureSet.features(boolean parallel)
(mandatory)getFeatureCount()
(recommended)AbstractResource.getEnvelope()
(recommended)createMetadata()
(optional)
Thread safety
Default methods of this abstract class are thread-safe. Synchronization, when needed, usesAbstractResource.getSynchronizationLock()
.- Since:
- 1.2
-
Field Summary
Fields inherited from class AbstractResource
listeners
-
Constructor Summary
ModifierConstructorDescriptionprotected
AbstractFeatureSet
(StoreListeners parentListeners, boolean hidden) Creates a new resource which can send notifications to the given set of listeners.protected
AbstractFeatureSet
(Resource parent) Creates a new resource, potentially as a child of another resource. -
Method Summary
Modifier and TypeMethodDescriptionprotected Metadata
Invoked in a synchronized block the first time thatgetMetadata()
is invoked.Returns an estimation of the number of features in this set, or empty if unknown.Returns the feature type name as the identifier for this resource.Methods inherited from class AbstractResource
addListener, clearCache, getEnvelope, getMetadata, getSynchronizationLock, removeListener
Methods inherited from class Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Methods inherited from interface DataSet
getEnvelope
Methods inherited from interface FeatureSet
features, getType, subset
Methods inherited from interface Resource
addListener, getMetadata, removeListener
-
Constructor Details
-
AbstractFeatureSet
Creates a new resource, potentially as a child of another resource. The parent resource is typically, but not necessarily, anAggregate
.- Parameters:
parent
- the parent resource, ornull
if none.- Since:
- 1.4
-
AbstractFeatureSet
Creates a new resource which can send notifications to the given set of listeners. Ifhidden
isfalse
(the recommended value), then this resource will have its own set of listeners with this resource declared as the source of events. It will be possible to add and remove listeners independently from the set of parent listeners. Conversely ifhidden
istrue
, then the given listeners will be used directly and this resource will not appear as the source of any event.In any cases, the listeners of all parents (ultimately the data store that created this resource) will always be notified, either directly if
hidden
istrue
or indirectly ifhidden
isfalse
.- Parameters:
parentListeners
- listeners of the parent resource, ornull
if none. This is usually the listeners of theDataStore
that created this resource.hidden
-false
if this resource shall use its ownStoreListeners
with the specified parent, ortrue
for usingparentListeners
directly.
-
-
Method Details
-
getIdentifier
Returns the feature type name as the identifier for this resource. Subclasses should override if they can provide a more specific identifier.- Specified by:
getIdentifier
in interfaceResource
- Overrides:
getIdentifier
in classAbstractResource
- Returns:
- the resource identifier inferred from feature type.
- Throws:
DataStoreException
- if an error occurred while fetching the identifier.- See Also:
-
getFeatureCount
Returns an estimation of the number of features in this set, or empty if unknown. The default implementation returns an empty value.- Returns:
- estimation of the number of features.
-
createMetadata
Invoked in a synchronized block the first time thatgetMetadata()
is invoked. The default implementation populates metadata based on information provided bygetIdentifier()
,getEnvelope()
,getType()
andgetFeatureCount()
. Subclasses should override if they can provide more information. The default value can be completed by casting toDefaultMetadata
.- Overrides:
createMetadata
in classAbstractResource
- Returns:
- the newly created metadata, or
null
if unknown. - Throws:
DataStoreException
- if an error occurred while reading metadata from this resource.
-