Package org.apache.sis.storage
Class AbstractFeatureSet
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
Defined in the sis-storage module
- 
Field SummaryFields inherited from class AbstractResourcelisteners
- 
Constructor SummaryConstructorsModifierConstructorDescriptionprotectedAbstractFeatureSet(StoreListeners parentListeners, boolean hidden) Creates a new resource which can send notifications to the given set of listeners.
- 
Method SummaryModifier and TypeMethodDescriptionprotected MetadataInvoked 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 AbstractResourceaddListener, clearCache, getEnvelope, getMetadata, getSynchronizationLock, removeListenerMethods inherited from class Objectclone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface DataSetgetEnvelopeMethods inherited from interface FeatureSetfeatures, getType, subsetMethods inherited from interface ResourceaddListener, getMetadata, removeListener
- 
Constructor Details- 
AbstractFeatureSetCreates a new resource which can send notifications to the given set of listeners. Ifhiddenisfalse(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 ifhiddenistrue, 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 hiddenistrueor indirectly ifhiddenisfalse.- Parameters:
- parentListeners- listeners of the parent resource, or- nullif none. This is usually the listeners of the- DataStorethat created this resource.
- hidden-- falseif this resource shall use its own- StoreListenerswith the specified parent, or- truefor using- parentListenersdirectly.
 
 
- 
- 
Method Details- 
getIdentifierReturns the feature type name as the identifier for this resource. Subclasses should override if they can provide a more specific identifier.- Specified by:
- getIdentifierin interface- Resource
- Overrides:
- getIdentifierin class- AbstractResource
- Returns:
- the resource identifier inferred from feature type.
- Throws:
- DataStoreException- if an error occurred while fetching the identifier.
- See Also:
 
- 
getFeatureCountReturns 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.
 
- 
createMetadataInvoked 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:
- createMetadatain class- AbstractResource
- Returns:
- the newly created metadata, or nullif unknown.
- Throws:
- DataStoreException- if an error occurred while reading metadata from this resource.
 
 
-