|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
public interface FeatureStore
A FeatureStore is a type of store whose data consists on sets of
Feature
(s). Feature
(s) from the same FeatureStore can be of
different FeatureType
(s) (as in GML format for instance).
FeatureStore allows:
FeatureType
. A FeatureStore always has one
and only one default FeatureType.
FeatureType
(s) defined in the FeatureStore.
FeatureSet
)
through FeatureQuery
, as well as background loading.
Envelope
(AKA bounding box or extent) of the
store.
FeatureType
(s).
Geometry
types.
Field Summary | |
---|---|
static String |
METADATA_DEFINITION_NAME
|
static int |
MODE_APPEND
Indicates that this store is in append mode |
static int |
MODE_FULLEDIT
Indicates that this store is in full edit mode |
static int |
MODE_QUERY
Indicates that this store is in query mode |
Fields inherited from interface org.gvsig.fmap.dal.DataStore |
---|
FEATURE_METADATA_DEFINITION_NAME, METADATA_CONTAINERNAME, METADATA_CRS, METADATA_ENVELOPE, METADATA_FEATURETYPE, METADATA_PROVIDER, SPATIAL_METADATA_DEFINITION_NAME |
Method Summary | |
---|---|
boolean |
allowWrite()
Indicates whether this store allows writing. |
void |
beginEditingGroup(String description)
Initiates an editing group. |
void |
cancelEditing()
Cancels all editing since the last edit(). |
boolean |
canWriteGeometry(int gvSIGgeometryType)
Deprecated. Mirar de cambiarlo a metadatos |
void |
createCache(String name,
DynObject parameters)
Creates a vectorial cache that is used to save and retrieve data. |
FeatureQuery |
createFeatureQuery()
Returns a new FeatureQuery associated to this store. |
FeatureSelection |
createFeatureSelection()
Creates a FeatureSelection |
FeatureIndex |
createIndex(FeatureType featureType,
String attributeName,
String indexName)
Creates an index which will be applied to the features of the given type, by using the data of the given attribute. |
FeatureIndex |
createIndex(FeatureType featureType,
String attributeName,
String indexName,
Observer observer)
Creates an index which will be applied to the features of the given type, by using the data of the given attribute. |
FeatureIndex |
createIndex(String indexTypeName,
FeatureType featureType,
String attributeName,
String indexName)
Creates an index which will be applied to the features of the given type, by using the data of the given attribute. |
FeatureIndex |
createIndex(String indexTypeName,
FeatureType featureType,
String attributeName,
String indexName,
Observer observer)
Creates an index which will be applied to the features of the given type, by using the data of the given attribute. |
EditableFeature |
createNewFeature()
Creates a new feature using the default feature type and returns it as an EditableFeature |
EditableFeature |
createNewFeature(boolean defaultValues)
Creates a new feature of default FeatureType . |
EditableFeature |
createNewFeature(FeatureType type,
boolean defaultValues)
Creates a new feature of the given FeatureType . |
EditableFeature |
createNewFeature(FeatureType type,
Feature defaultValues)
Creates a new feature of the given FeatureType and uses the given
Feature as default values to initialize it. |
void |
delete(Feature feature)
Deletes a Feature from the store. |
void |
edit()
Enters editing state. |
void |
edit(int mode)
Enters editing state specifying the editing mode. |
void |
endEditingGroup()
Finishes an editing group. |
void |
export(DataServerExplorer explorer,
String provider,
NewFeatureStoreParameters params)
Exports this store to another store. |
void |
finishEditing()
Exits editing state. |
FeatureCache |
getCache()
|
FeatureType |
getDefaultFeatureType()
Returns this store's default FeatureType . |
org.gvsig.fmap.geom.primitive.Envelope |
getEnvelope()
Returns this store's total envelope (extent). |
Feature |
getFeatureByReference(FeatureReference reference)
Returns the feature given its reference. |
Feature |
getFeatureByReference(FeatureReference reference,
FeatureType featureType)
Returns the feature given its reference and feature type. |
long |
getFeatureCount()
Returns featue count of this store. |
FeatureSelection |
getFeatureSelection()
Returns the current FeatureSelection . |
FeatureSet |
getFeatureSet()
Returns all available features in the store. |
FeatureSet |
getFeatureSet(FeatureQuery featureQuery)
Returns a subset of features taking into account the properties and restrictions of the FeatureQuery. |
void |
getFeatureSet(FeatureQuery featureQuery,
Observer observer)
Loads a subset of features taking into account the properties and restrictions of the FeatureQuery. |
void |
getFeatureSet(Observer observer)
Loads all available feature in the store. |
FeatureType |
getFeatureType(String featureTypeId)
Returns this store's featureType FeatureType matches with
featureTypeId. |
List |
getFeatureTypes()
Returns this store's FeatureType (s). |
FeatureIndexes |
getIndexes()
Returns a FeatureIndexes structure containing all available indexes in the store. |
FeatureLocks |
getLocks()
Returns the set of locked features |
DataStoreParameters |
getParameters()
Returns this store's parameters. |
int |
getRetrievedFeaturesLimit()
If the FeatureStoreProvider.hasRetrievedFeaturesLimit() returns
true,
it returns the limit of features retrieved from the provider. |
org.cresques.cts.IProjection |
getSRSDefaultGeometry()
Deprecated. use getDefaultFeatureType().getDefaultSRS() |
FeatureStoreTransforms |
getTransforms()
Returns this store transforms |
boolean |
hasRetrievedFeaturesLimit()
Return if the maximum number of features provided by the provider are limited. |
void |
insert(EditableFeature feature)
Inserts a Feature in the store. |
boolean |
isAppending()
Indicates whether this store is in appending state. |
boolean |
isAppendModeSupported()
Indicates whether this store supports append mode. |
boolean |
isEditing()
Indicates whether this store is in editing state. |
boolean |
isKnownEnvelope()
Return if the provider knows the real envelope of a layer. |
boolean |
isLocksSupported()
Indicates whether this store supports locks. |
void |
setSelection(FeatureSet selection)
Sets the selection to the passed FeatureSet |
void |
update(EditableFeature feature)
Updates a Feature in the store with the changes in the
EditableFeature . |
void |
update(EditableFeatureType featureType)
Updates a FeatureType in the store with the changes in the
EditableFeatureType . |
void |
validateFeatures(int mode)
Applies the validation rules associated to the given mode to the active FeatureSet . |
Methods inherited from interface org.gvsig.fmap.dal.DataStore |
---|
accept, accept, createQuery, createSelection, getChildren, getDataSet, getDataSet, getDataSet, getDataSet, getExplorer, getFullName, getInterval, getName, getProviderName, getSelection, getTimes, getTimes, refresh, setSelection |
Methods inherited from interface org.gvsig.tools.observer.ComplexObservable |
---|
beginComplexNotification, disableNotifications, enableNotifications, endComplexNotification |
Methods inherited from interface org.gvsig.tools.observer.Observable |
---|
addObserver, deleteObserver, deleteObservers |
Methods inherited from interface org.gvsig.tools.persistence.Persistent |
---|
loadFromState, saveToState |
Methods inherited from interface org.gvsig.metadata.Metadata |
---|
getMetadataChildren, getMetadataID, getMetadataName |
Methods inherited from interface org.gvsig.tools.dynobject.DynObject |
---|
clear, delegate, getDynClass, getDynValue, hasDynValue, implement, invokeDynMethod, invokeDynMethod, setDynValue |
Methods inherited from interface org.gvsig.tools.dispose.Disposable |
---|
dispose |
Methods inherited from interface org.gvsig.tools.undo.UndoRedoStack |
---|
canRedo, canUndo, getRedoInfos, getUndoInfos, redo, redo, undo, undo |
Field Detail |
---|
static final String METADATA_DEFINITION_NAME
static final int MODE_QUERY
static final int MODE_FULLEDIT
static final int MODE_APPEND
Method Detail |
---|
boolean allowWrite()
FeatureType getDefaultFeatureType() throws DataException
FeatureType
.
FeatureType
.
DataException
FeatureType getFeatureType(String featureTypeId) throws DataException
FeatureType
matches with
featureTypeId.
featureTypeId
-
FeatureType
.
DataException
List getFeatureTypes() throws DataException
FeatureType
(s).
FeatureType
(s).
DataException
DataStoreParameters getParameters()
getParameters
in interface DataStore
DataStoreParameters
containing this store's parametersboolean canWriteGeometry(int gvSIGgeometryType) throws DataException
DataException
org.gvsig.fmap.geom.primitive.Envelope getEnvelope() throws DataException
null
if
store not have geometry information
DataException
org.cresques.cts.IProjection getSRSDefaultGeometry() throws DataException
DataException
void export(DataServerExplorer explorer, String provider, NewFeatureStoreParameters params) throws DataException
explorer
- DataServerExplorer
targetparams
- New parameters of this store that will be used on the target
explorer
DataException
FeatureSet getFeatureSet() throws DataException
NOTE: if you use this method to get a
FeatureSet
, you must get sure it is disposed
(@see Disposable.dispose()
) in any case, even if an
error occurs while getting the data. It is recommended to use the
accept
methods instead, which handle everything for you.
Take into account the accept methods may use a fast iterator to
get the features.
ReadException
- if there is any error while reading the features
DataException
DataStore.accept(org.gvsig.tools.visitor.Visitor)
FeatureSet getFeatureSet(FeatureQuery featureQuery) throws DataException
NOTE: if you use this method to get a
FeatureSet
, you must get sure it is disposed
(@see Disposable.dispose()
) in any case, even if an
error occurs while getting the data. It is recommended to use the
accept
methods instead, which handle everything for you.
Take into account the accept methods may use a fast iterator to
get the features.
featureQuery
- defines the characteristics of the features to return
ReadException
- if there is any error while reading the features
DataException
DataStore.accept(org.gvsig.tools.visitor.Visitor,
org.gvsig.fmap.dal.DataQuery)
void getFeatureSet(FeatureQuery featureQuery, Observer observer) throws DataException
featureQuery
- defines the characteristics of the features to returnobserver
- to be notified of each loaded Feature
DataException
- if there is any error while loading the featuresvoid getFeatureSet(Observer observer) throws DataException
observer
- to be notified of each loaded Feature
DataException
- if there is any error while loading the featuresFeature getFeatureByReference(FeatureReference reference) throws DataException
reference
- a unique FeatureReference
DataException
Feature getFeatureByReference(FeatureReference reference, FeatureType featureType) throws DataException
reference
- a unique FeatureReferencefeatureType
- FeatureType to which the requested Feature belongs
DataException
void edit() throws DataException
DataException
void edit(int mode) throws DataException
mode
-
DataException
void cancelEditing() throws DataException
DataException
void finishEditing() throws DataException
DataException
boolean isEditing()
boolean isAppending()
FeatureSet
.
void update(EditableFeatureType featureType) throws DataException
FeatureType
in the store with the changes in the
EditableFeatureType
.FeatureSet
from this store that are used will be invalidated.
featureType
- an EditableFeatureType
with the changes.
DataException
void update(EditableFeature feature) throws DataException
Feature
in the store with the changes in the
EditableFeature
.FeatureSet
from this store that was still in use will be
invalidated. You can override this using
FeatureSet.update(EditableFeature)
.
feature
- the feature to be updated
DataException
void delete(Feature feature) throws DataException
Feature
from the store.FeatureSet
from this store that was still in use will be
invalidated. You can override this using Iterator.remove()
from
FeatureSet
.
feature
- The feature to be deleted.
DataException
void insert(EditableFeature feature) throws DataException
Feature
in the store.FeatureSet
from this store that was still in use will be
invalidated. You can override this using
FeatureSet.insert(EditableFeature)
.
feature
- The feature to be inserted
DataException
EditableFeature createNewFeature() throws DataException
EditableFeature
DataException
EditableFeature createNewFeature(FeatureType type, Feature defaultValues) throws DataException
FeatureType
and uses the given
Feature
as default values to initialize it.
type
- the new feature's feature typedefaultValues
- a feature whose values are used as default values for the new
feature.
DataException
EditableFeature createNewFeature(FeatureType type, boolean defaultValues) throws DataException
FeatureType
. The flag
defaultValues is used to indicate whether the new feature should be
initialized with default values or not.
type
- the new feature's feature typedefaultValues
- if true the new feature is initialized with each attribute's
default value.
DataException
EditableFeature createNewFeature(boolean defaultValues) throws DataException
FeatureType
. The flag
defaultValues is used to indicate whether the new feature should be
initialized with default values or not.
defaultValues
- if true the new feature is initialized with each attribute's
default value.
DataException
void validateFeatures(int mode) throws DataException
FeatureSet
.
mode
- can be one of {MODE_QUERY, MODE_FULLEDIT, MODE_APPEND}
DataException
boolean isAppendModeSupported()
void beginEditingGroup(String description) throws NeedEditingModeException
description
- Description of the editing group.
NeedEditingModeException
void endEditingGroup() throws NeedEditingModeException
NeedEditingModeException
FeatureIndex createIndex(FeatureType featureType, String attributeName, String indexName) throws DataException
featureType
- The FeatureType to which the indexed attribute belongs.attributeName
- The name of the attributed to be indexedindexName
- The index name
FeatureIndex
FeatureIndexException
- if there is an error creating the index
DataException
FeatureIndex createIndex(String indexTypeName, FeatureType featureType, String attributeName, String indexName) throws DataException
indexTypeName
- the type of the index to be created. That name is
related to one of the registered index providersfeatureType
- The FeatureType to which the indexed attribute belongs.attributeName
- The name of the attributed to be indexedindexName
- The index name
FeatureIndex
FeatureIndexException
- if there is an error creating the index
DataException
FeatureIndex createIndex(FeatureType featureType, String attributeName, String indexName, Observer observer) throws DataException
Observer
parameter is provided to be
notified ( FeatureStoreNotification.INDEX_FILLING_SUCCESS
)
when the index has finished filling with data and is available to be
used.
featureType
- The FeatureType to which the indexed attribute belongs.attributeName
- The name of the attributed to be indexedindexName
- The index nameobserver
- to notify to when the created index has finished filling
with data and is available to be used. The observer will
receive then a
FeatureStoreNotification.INDEX_FILLING_SUCCESS
notification, with the index object if it has finished
successfully, or a
FeatureStoreNotification.INDEX_FILLING_ERROR
notification with the exception object if there has been
any error in the process. Optional.
FeatureIndex
FeatureIndexException
- if there is an error creating the index
DataException
FeatureStoreNotification.INDEX_FILLING_STARTED
,
FeatureStoreNotification.INDEX_FILLING_SUCCESS
,
FeatureStoreNotification.INDEX_FILLING_CANCELLED
,
FeatureStoreNotification.INDEX_FILLING_ERROR
FeatureIndex createIndex(String indexTypeName, FeatureType featureType, String attributeName, String indexName, Observer observer) throws DataException
Observer
parameter is provided to be
notified ( FeatureStoreNotification.INDEX_FILLING_SUCCESS
)
when the index has finished filling with data and is available to be
used.
indexTypeName
- the type of the index to be created. That name is
related to one of the registered index providersfeatureType
- The FeatureType to which the indexed attribute belongs.attributeName
- The name of the attributed to be indexedindexName
- The index nameobserver
- to notify to when the created index has finished filling
with data and is available to be used. The observer will
receive then a
FeatureStoreNotification.INDEX_FILLING_SUCCESS
notification, with the index object if it has finished
successfully, or a
FeatureStoreNotification.INDEX_FILLING_ERROR
notification with the exception object if there has been
any error in the process. Optional.
FeatureIndex
FeatureIndexException
- if there is an error creating the index
DataException
FeatureStoreNotification.INDEX_FILLING_STARTED
,
FeatureStoreNotification.INDEX_FILLING_SUCCESS
,
FeatureStoreNotification.INDEX_FILLING_CANCELLED
,
FeatureStoreNotification.INDEX_FILLING_ERROR
FeatureIndexes getIndexes()
void setSelection(FeatureSet selection) throws DataException
FeatureSet
selection
- A FeatureSet
with the requested selection
DataException
FeatureSelection createFeatureSelection() throws DataException
FeatureSelection
FeatureSelection
DataException
FeatureSelection getFeatureSelection() throws DataException
FeatureSelection
.
FeatureSelection
.
DataException
boolean isLocksSupported()
FeatureLocks getLocks() throws DataException
DataException
FeatureStoreTransforms getTransforms()
FeatureQuery createFeatureQuery()
FeatureQuery
associated to this store.
FeatureQuery
associated to this store.long getFeatureCount() throws DataException
DataException
void createCache(String name, DynObject parameters) throws DataException
name
- the cache name.parameters
- parameters to create the stores used to save data.
DataException
FeatureCache getCache()
boolean isKnownEnvelope()
FeatureStoreProvider.getEnvelope()
method doesn't return
the full envelope.
boolean hasRetrievedFeaturesLimit()
int getRetrievedFeaturesLimit()
FeatureStoreProvider.hasRetrievedFeaturesLimit()
returns
true,
it returns the limit of features retrieved from the provider.
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |