Interface FeatureStoreProvider

All Superinterfaces:
org.gvsig.fmap.dal.DataFactoryUnit, org.gvsig.fmap.dal.DataStoreProvider, DataStoreProvider, org.gvsig.tools.dispose.Disposable, org.gvsig.tools.dynobject.DynObject, org.gvsig.tools.dynobject.DynObject_v2
All Known Subinterfaces:
FeatureCacheProvider, FeatureStoreProvider_v2
All Known Implementing Classes:
AbstractFeatureStoreProvider, AbstractMemoryStoreProvider

public interface FeatureStoreProvider extends DataStoreProvider
Interface for all feature based data providers.

A FeatureStoreProvier must have a contructor like this:

FeatureStoreProvider(DataStoreParameters, FeatureStoreProviderServices)
  • Method Details

    • createNewOID

      Object createNewOID()
      Return a new OID valid for a new feature.
      Returns:
      a new OID
    • getOIDType

      int getOIDType()
      Return OID data type (from DataTypes) of this store.
      Returns:
      OID data type
    • createFeatureProvider

      FeatureProvider createFeatureProvider(org.gvsig.fmap.dal.feature.FeatureType type) throws org.gvsig.fmap.dal.exception.DataException
      Factory of FeatureProvider. Create a new FeatureProvider instance valid for this Store.
      Parameters:
      type - , FeatureType of the FeatureProvider
      Returns:
      Throws:
      org.gvsig.fmap.dal.exception.DataException
    • createFeatureSelection

      org.gvsig.fmap.dal.feature.FeatureSelection createFeatureSelection() throws org.gvsig.fmap.dal.exception.DataException
      Factory of FeatureSelection. Create a new FeatureSelection instance valid for this Store.
      Returns:
      Throws:
      org.gvsig.fmap.dal.exception.DataException
    • createFeatureLocks

      org.gvsig.fmap.dal.feature.FeatureLocks createFeatureLocks() throws org.gvsig.fmap.dal.exception.DataException
      Factory of FeatureLocks. Create a new FeatureLocks instance valid for this Store.
      Returns:
      FeatureLocks or null if not isLocksSupported()
      Throws:
      org.gvsig.fmap.dal.exception.DataException
    • createSet

      FeatureSetProvider createSet(org.gvsig.fmap.dal.feature.FeatureQuery query, org.gvsig.fmap.dal.feature.FeatureType featureType) throws org.gvsig.fmap.dal.exception.DataException
      Factory of FeatureSetProvider. Create a new FeatureSetProvider that represents result of FeatureQuery .
      Parameters:
      query - (never will be null)
      featureType - (never will be null)
      Returns:
      Throws:
      org.gvsig.fmap.dal.exception.DataException
    • createSet

      FeatureSetProvider createSet(org.gvsig.fmap.dal.feature.FeatureQuery query, org.gvsig.fmap.dal.feature.FeatureType providerFeatureType, org.gvsig.fmap.dal.feature.FeatureType storeFeatureType) throws org.gvsig.fmap.dal.exception.DataException
      Throws:
      org.gvsig.fmap.dal.exception.DataException
    • getFeatureProviderByReference

      FeatureProvider getFeatureProviderByReference(FeatureReferenceProviderServices reference) throws org.gvsig.fmap.dal.exception.DataException
      Return FeatureProvider from a FeatureReferenceProviderServices using FeatureStore.getDefaultFeatureType() as FeatureType
      Parameters:
      reference -
      Returns:
      Throws:
      org.gvsig.fmap.dal.exception.DataException
    • getFeatureProviderByReference

      FeatureProvider getFeatureProviderByReference(FeatureReferenceProviderServices reference, org.gvsig.fmap.dal.feature.FeatureType featureType) throws org.gvsig.fmap.dal.exception.DataException
      Return FeatureProvider from a FeatureReferenceProviderServices using featureType as FeatureType
      Parameters:
      reference -
      featureType -
      Returns:
      Throws:
      org.gvsig.fmap.dal.exception.DataException
    • allowWrite

      boolean allowWrite()
      Informs that store supports write.
      Returns:
      true if write is supported
    • canWriteGeometry

      boolean canWriteGeometry(int geometryType, int geometrySubType) throws org.gvsig.fmap.dal.exception.DataException
      Informs that store supports write a geometry.
      Parameters:
      geometryType -
      geometrySubType -
      Returns:
      Throws:
      org.gvsig.fmap.dal.exception.DataException
    • performChanges

      void performChanges(Iterator deleteds, Iterator inserteds, Iterator updateds, Iterator featureTypesChanged) throws org.gvsig.fmap.dal.exception.DataException
      Perform changes on store.
      Parameters:
      deleteds - iterator of FeatureReferenceProviderServices
      inserteds - iterator of FeatureProvider
      updateds - iterator of FeatureProvider
      featureTypesChanged - iterator of FeatureType.FeatureTypeChanged
      Throws:
      org.gvsig.fmap.dal.exception.DataException
    • getEnvelope

      org.gvsig.fmap.geom.primitive.Envelope getEnvelope() throws org.gvsig.fmap.dal.exception.DataException
      Returns this store's total envelope (extent).
      Returns:
      this store's total envelope (extent) or null if store not have geometry information
      Throws:
      org.gvsig.fmap.dal.exception.DataException
    • getEnvelope

      org.gvsig.fmap.geom.primitive.Envelope getEnvelope(String geomname) throws org.gvsig.fmap.dal.exception.DataException
      Throws:
      org.gvsig.fmap.dal.exception.DataException
    • isLocksSupported

      boolean isLocksSupported()
      Informs if store supports locks
      Returns:
    • getStoreServices

      FeatureStoreProviderServices getStoreServices()
      Return FeatureStoreProviderServices for this store
      Returns:
    • allowAutomaticValues

      boolean allowAutomaticValues()
      Inform if the store provider supports automatic values for attributues (autonumeric)
      Returns:
      true if supported
    • getFeatureCount

      long getFeatureCount() throws org.gvsig.fmap.dal.exception.DataException
      Returns total feature count of this store.
      Returns:
      Throws:
      org.gvsig.fmap.dal.exception.DataException
    • supportsAppendMode

      boolean supportsAppendMode()
    • beginAppend

      void beginAppend() throws org.gvsig.fmap.dal.exception.DataException
      Throws:
      org.gvsig.fmap.dal.exception.DataException
    • beginAppend

      void beginAppend(int submode) throws org.gvsig.fmap.dal.exception.DataException
      Throws:
      org.gvsig.fmap.dal.exception.DataException
    • endAppend

      void endAppend() throws org.gvsig.fmap.dal.exception.DataException
      Throws:
      org.gvsig.fmap.dal.exception.DataException
    • append

      void append(FeatureProvider featureProvider) throws org.gvsig.fmap.dal.exception.DataException
      Throws:
      org.gvsig.fmap.dal.exception.DataException
    • abortAppend

      void abortAppend() throws org.gvsig.fmap.dal.exception.DataException
      Throws:
      org.gvsig.fmap.dal.exception.DataException
    • isKnownEnvelope

      boolean isKnownEnvelope()
      Return if the provider knows the real envelope of a layer. If not, the getEnvelope() method doesn't return the full envelope.
      Returns:
      true if it knows the real envelope.
    • hasRetrievedFeaturesLimit

      boolean hasRetrievedFeaturesLimit()
      Return if the maximum number of features provided by the provider are limited.
      Returns:
      true if there is a limit of features.
    • getRetrievedFeaturesLimit

      int getRetrievedFeaturesLimit()
      If the hasRetrievedFeaturesLimit() returns true, it returns the limit of features retrieved from the provider.
      Returns:
      The limit of the retrieved features.
    • getFeatureStore

      org.gvsig.fmap.dal.feature.FeatureStore getFeatureStore()
    • getParameters

      org.gvsig.fmap.dal.DataStoreParameters getParameters()
    • isTemporary

      boolean isTemporary()
      Indicates if the storage is temporary. There is no guarantee that a temporary store can be recovered from its parameters. In general these will not be persistent.
      Returns:
      true if the store is temporary, otherwise false.
    • fixFeatureTypeFromParameters

      void fixFeatureTypeFromParameters()
    • supportsPassThroughMode

      boolean supportsPassThroughMode()
    • passThroughInsert

      void passThroughInsert(FeatureProvider featureProvider) throws org.gvsig.fmap.dal.exception.DataException
      Throws:
      org.gvsig.fmap.dal.exception.DataException
    • passThroughInsertOrUpdate

      void passThroughInsertOrUpdate(FeatureProvider featureProvider) throws org.gvsig.fmap.dal.exception.DataException
      Throws:
      org.gvsig.fmap.dal.exception.DataException
    • passThroughUpdate

      void passThroughUpdate(FeatureProvider featureProvider) throws org.gvsig.fmap.dal.exception.DataException
      Throws:
      org.gvsig.fmap.dal.exception.DataException
    • passThroughDelete

      void passThroughDelete(FeatureReferenceProviderServices featureReference) throws org.gvsig.fmap.dal.exception.DataException
      Throws:
      org.gvsig.fmap.dal.exception.DataException
    • passThroughDelete

      void passThroughDelete(org.gvsig.expressionevaluator.Expression filter) throws org.gvsig.fmap.dal.exception.DataException
      Throws:
      org.gvsig.fmap.dal.exception.DataException
    • passThroughUpdate

      void passThroughUpdate(Object[] parameters, org.gvsig.expressionevaluator.Expression filter)
    • allowGeometry

      int allowGeometry(String name, org.gvsig.fmap.geom.Geometry geometry)