Class/Object

org.locationtech.geomesa.index.geotools

GeoMesaDataStore

Related Docs: object GeoMesaDataStore | package geotools

Permalink

abstract class GeoMesaDataStore[DS <: GeoMesaDataStore[DS]] extends MetadataBackedDataStore with HasGeoMesaStats

Abstract base class for data store implementations on top of distributed databases

DS

type of this data store

Self Type
DS
Linear Supertypes
HasGeoMesaStats, MetadataBackedDataStore, LazyLogging, DistributedLocking, HasGeoMesaMetadata[String], DataStore, DataAccess[SimpleFeatureType, SimpleFeature], AnyRef, Any
Ordering
  1. Alphabetic
  2. By inheritance
Inherited
  1. GeoMesaDataStore
  2. HasGeoMesaStats
  3. MetadataBackedDataStore
  4. LazyLogging
  5. DistributedLocking
  6. HasGeoMesaMetadata
  7. DataStore
  8. DataAccess
  9. AnyRef
  10. Any
  1. Hide All
  2. Show all
Visibility
  1. Public
  2. All

Instance Constructors

  1. new GeoMesaDataStore(config: GeoMesaDataStoreConfig)

    Permalink

    config

    common datastore configuration options - subclasses can extend this

Abstract Value Members

  1. abstract def acquireDistributedLock(key: String, timeOut: Long): Option[Releasable]

    Permalink

    Gets and acquires a distributed lock based on the key.

    Gets and acquires a distributed lock based on the key. Make sure that you 'release' the lock in a finally block.

    key

    key to lock on - equivalent to a path in zookeeper

    timeOut

    how long to wait to acquire the lock, in millis

    returns

    the lock, if obtained

    Attributes
    protected
    Definition Classes
    DistributedLocking
  2. abstract def acquireDistributedLock(key: String): Releasable

    Permalink

    Gets and acquires a distributed lock based on the key.

    Gets and acquires a distributed lock based on the key. Make sure that you 'release' the lock in a finally block.

    key

    key to lock on - equivalent to a path in zookeeper

    returns

    the lock

    Attributes
    protected
    Definition Classes
    DistributedLocking
  3. abstract def adapter: IndexAdapter[DS]

    Permalink
  4. abstract def metadata: GeoMesaMetadata[String]

    Permalink
    Definition Classes
    HasGeoMesaMetadata
  5. abstract def stats: GeoMesaStats

    Permalink
    Definition Classes
    HasGeoMesaStats

Concrete Value Members

  1. final def !=(arg0: Any): Boolean

    Permalink
    Definition Classes
    AnyRef → Any
  2. final def ##(): Int

    Permalink
    Definition Classes
    AnyRef → Any
  3. final def ==(arg0: Any): Boolean

    Permalink
    Definition Classes
    AnyRef → Any
  4. def acquireCatalogLock(): Releasable

    Permalink

    Acquires a distributed lock for all data stores sharing this catalog table.

    Acquires a distributed lock for all data stores sharing this catalog table. Make sure that you 'release' the lock in a finally block.

    Attributes
    protected[org.locationtech.geomesa]
    Definition Classes
    MetadataBackedDataStore
  5. final def asInstanceOf[T0]: T0

    Permalink
    Definition Classes
    Any
  6. def clone(): AnyRef

    Permalink
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  7. val config: GeoMesaDataStoreConfig

    Permalink

    common datastore configuration options - subclasses can extend this

  8. def createSchema(schema: SimpleFeatureType): Unit

    Permalink

    Validates the schema and writes metadata to catalog.If the schema already exists, continue without error.

    Validates the schema and writes metadata to catalog.If the schema already exists, continue without error.

    This method uses distributed locking to ensure a schema is only created once.

    schema

    type to create

    Definition Classes
    MetadataBackedDataStore → DataAccess
    See also

    org.geotools.data.DataAccess#createSchema(org.opengis.feature.type.FeatureType)

  9. def delete(): Unit

    Permalink

    Optimized method to delete everything (all tables) associated with this datastore (index tables and catalog table) NB: We are *not* currently deleting the query table and/or query information.

  10. def dispose(): Unit

    Permalink

    Cleanup any open connections, etc.

    Cleanup any open connections, etc. Equivalent to java.io.Closeable.close()

    Definition Classes
    GeoMesaDataStoreMetadataBackedDataStore → DataAccess
    See also

    org.geotools.data.DataAccess#dispose()

  11. final def eq(arg0: AnyRef): Boolean

    Permalink
    Definition Classes
    AnyRef
  12. def equals(arg0: Any): Boolean

    Permalink
    Definition Classes
    AnyRef → Any
  13. def finalize(): Unit

    Permalink
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  14. def getAllIndexTableNames(typeName: String): Seq[String]

    Permalink

    Returns all index tables that may be created for the simple feature type.

    Returns all index tables that may be created for the simple feature type. Note that some of these tables may be shared with other simple feature types, and the tables may not all currently exist.

    typeName

    simple feature type name

  15. def getAllTableNames(typeName: String): Seq[String]

    Permalink

    Returns all tables that may be created for the simple feature type.

    Returns all tables that may be created for the simple feature type. Note that some of these tables may be shared with other simple feature types, and the tables may not all currently exist.

    typeName

    simple feature type name

  16. final def getClass(): Class[_]

    Permalink
    Definition Classes
    AnyRef → Any
  17. def getClientVersion: SemanticVersion

    Permalink

    Gets the geomesa version

    Gets the geomesa version

    returns

    client version

  18. def getDistributedVersion: Option[SemanticVersion]

    Permalink

    Gets the geomesa version

    Gets the geomesa version

    returns

    iterator version, if data store has iterators

  19. def getFeatureReader(query: Query, transaction: Transaction): GeoMesaFeatureReader

    Permalink

    query

    query to execute

    transaction

    transaction to use (currently ignored)

    returns

    feature reader

    Definition Classes
    GeoMesaDataStore → DataStore
    See also

    org.geotools.data.DataStore#getFeatureReader(org.geotools.data.Query, org.geotools.data.Transaction)

  20. def getFeatureSource(typeName: String): GeoMesaFeatureStore

    Permalink

    typeName

    simple feature type name

    returns

    featureStore, suitable for reading and writing

    Definition Classes
    GeoMesaDataStore → DataStore
    See also

    org.geotools.data.DataStore#getFeatureSource(java.lang.String)

  21. def getFeatureSource(typeName: Name): SimpleFeatureSource

    Permalink

    typeName

    simple feature type name

    returns

    featureStore, suitable for reading and writing

    Definition Classes
    MetadataBackedDataStore → DataStore → DataAccess
    See also

    org.geotools.data.DataStore#getFeatureSource(java.lang.String)

  22. def getFeatureWriter(typeName: String, filter: Filter, transaction: Transaction): FlushableFeatureWriter

    Permalink

    Create a general purpose writer that is capable of updates and deletes.

    Create a general purpose writer that is capable of updates and deletes. Does not allow inserts.

    typeName

    feature type name

    filter

    cql filter to select features for update/delete

    transaction

    transaction (currently ignored)

    returns

    feature writer

    Definition Classes
    GeoMesaDataStoreMetadataBackedDataStore → DataStore
    See also

    org.geotools.data.DataStore#getFeatureWriter(java.lang.String, org.opengis.filter.Filter, org.geotools.data.Transaction)

  23. def getFeatureWriter(typeName: String, transaction: Transaction): SimpleFeatureWriter

    Permalink

    Create a general purpose writer that is capable of updates and deletes.

    Create a general purpose writer that is capable of updates and deletes. Does not allow inserts. Will return all existing features.

    typeName

    feature type name

    transaction

    transaction (currently ignored)

    returns

    feature writer

    Definition Classes
    MetadataBackedDataStore → DataStore
    See also

    org.geotools.data.DataStore#getFeatureWriter(java.lang.String, org.geotools.data.Transaction)

  24. def getFeatureWriterAppend(typeName: String, transaction: Transaction): FlushableFeatureWriter

    Permalink

    Creates a feature writer only for writing - does not allow updates or deletes.

    Creates a feature writer only for writing - does not allow updates or deletes.

    typeName

    feature type name

    transaction

    transaction (currently ignored)

    returns

    feature writer

    Definition Classes
    GeoMesaDataStoreMetadataBackedDataStore → DataStore
    See also

    org.geotools.data.DataStore#getFeatureWriterAppend(java.lang.String, org.geotools.data.Transaction)

  25. def getIndexWriterAppend(typeName: String, indices: Seq[GeoMesaFeatureIndex[_, _]]): FlushableFeatureWriter

    Permalink

    Writes to the specified indices

    Writes to the specified indices

    typeName

    feature type name

    indices

    indices to write

  26. def getInfo(): ServiceInfo

    Permalink

    returns

    service info

    Definition Classes
    MetadataBackedDataStore → DataAccess
    See also

    org.geotools.data.DataAccess#getInfo()

  27. def getLockingManager(): LockingManager

    Permalink

    We always return null, which indicates that we are handling transactions ourselves.

    We always return null, which indicates that we are handling transactions ourselves.

    returns

    locking manager - null

    Definition Classes
    MetadataBackedDataStore → DataStore
    See also

    org.geotools.data.DataStore#getLockingManager()

  28. def getNames(): List[Name]

    Permalink

    returns

    existing simple feature type names

    Definition Classes
    MetadataBackedDataStore → DataAccess
    See also

    org.geotools.data.DataAccess#getNames()

  29. def getQueryPlan(query: Query, index: Option[String] = None, explainer: Explainer = new ExplainLogging): Seq[QueryPlan[DS]]

    Permalink

    Gets the query plan for a given query.

    Gets the query plan for a given query. The query plan consists of the tables, ranges, iterators etc required to run a query against the data store.

    query

    query to execute

    index

    hint on the index to use to satisfy the query

    returns

    query plans

  30. def getSchema(typeName: String): SimpleFeatureType

    Permalink

    typeName

    feature type name

    returns

    feature type, or null if it does not exist

    Definition Classes
    GeoMesaDataStoreMetadataBackedDataStore → DataStore
    See also

    org.geotools.data.DataStore#getSchema(java.lang.String)

  31. def getSchema(name: Name): SimpleFeatureType

    Permalink

    name

    feature type name

    returns

    feature type, or null if it does not exist

    Definition Classes
    MetadataBackedDataStore → DataAccess
    See also

    org.geotools.data.DataAccess#getSchema(org.opengis.feature.type.Name)

  32. def getTypeNames(): Array[String]

    Permalink

    returns

    existing simple feature type names

    Definition Classes
    MetadataBackedDataStore → DataStore
    See also

    org.geotools.data.DataStore#getTypeNames()

  33. def hashCode(): Int

    Permalink
    Definition Classes
    AnyRef → Any
  34. val interceptors: QueryInterceptorFactory

    Permalink
    Attributes
    protected[org.locationtech.geomesa]
    Definition Classes
    MetadataBackedDataStore
  35. final def isInstanceOf[T0]: Boolean

    Permalink
    Definition Classes
    Any
  36. def loadIteratorVersions: Set[String]

    Permalink

    Gets iterator versions as a string.

    Gets iterator versions as a string. Subclasses with distributed classpaths should override and implement.

    returns

    iterator versions

    Attributes
    protected
  37. lazy val logger: Logger

    Permalink
    Attributes
    protected
    Definition Classes
    LazyLogging
  38. val manager: IndexManager

    Permalink
  39. final def ne(arg0: AnyRef): Boolean

    Permalink
    Definition Classes
    AnyRef
  40. final def notify(): Unit

    Permalink
    Definition Classes
    AnyRef
  41. final def notifyAll(): Unit

    Permalink
    Definition Classes
    AnyRef
  42. def onSchemaCreated(sft: SimpleFeatureType): Unit

    Permalink

    Called after schema metadata has been persisted.

    Called after schema metadata has been persisted. Allows for creating tables, etc

    sft

    simple feature type

    Attributes
    protected
    Definition Classes
    GeoMesaDataStoreMetadataBackedDataStore
  43. def onSchemaDeleted(sft: SimpleFeatureType): Unit

    Permalink

    Called after deleting schema metadata.

    Called after deleting schema metadata. Allows for deleting tables, etc

    sft

    simple feature type

    Attributes
    protected
    Definition Classes
    GeoMesaDataStoreMetadataBackedDataStore
  44. def onSchemaUpdated(sft: SimpleFeatureType, previous: SimpleFeatureType): Unit

    Permalink

    Called after schema metadata has been persisted.

    Called after schema metadata has been persisted. Allows for creating tables, etc

    sft

    simple feature type

    previous

    previous feature type before changes

    Attributes
    protected
    Definition Classes
    GeoMesaDataStoreMetadataBackedDataStore
  45. def preSchemaCreate(sft: SimpleFeatureType): Unit

    Permalink

    Called just before persisting schema metadata.

    Called just before persisting schema metadata. Allows for validation or configuration of user data

    sft

    simple feature type

    Attributes
    protected
    Definition Classes
    GeoMesaDataStoreMetadataBackedDataStore
    Annotations
    @throws( classOf[IllegalArgumentException] )
    Exceptions thrown

    java.lang.IllegalArgumentException if schema is invalid and shouldn't be written

  46. def preSchemaUpdate(sft: SimpleFeatureType, previous: SimpleFeatureType): Unit

    Permalink

    Called just before updating schema metadata.

    Called just before updating schema metadata. Allows for validation or configuration of user data

    sft

    simple feature type

    previous

    previous feature type before changes

    Attributes
    protected
    Definition Classes
    GeoMesaDataStoreMetadataBackedDataStore
    Annotations
    @throws( classOf[IllegalArgumentException] )
    Exceptions thrown

    java.lang.IllegalArgumentException if schema is invalid and shouldn't be updated

  47. val queryPlanner: QueryPlanner[DS]

    Permalink
  48. def removeSchema(typeName: Name): Unit

    Permalink

    typeName

    simple feature type name

    Definition Classes
    MetadataBackedDataStore → DataAccess
    See also

    org.geotools.data.DataAccess#removeSchema(org.opengis.feature.type.Name)

  49. def removeSchema(typeName: String): Unit

    Permalink

    Deletes the schema metadata

    Deletes the schema metadata

    typeName

    simple feature type name

    Definition Classes
    MetadataBackedDataStore → DataStore
    See also

    org.geotools.data.DataStore#removeSchema(java.lang.String)

  50. final def synchronized[T0](arg0: ⇒ T0): T0

    Permalink
    Definition Classes
    AnyRef
  51. def toString(): String

    Permalink
    Definition Classes
    AnyRef → Any
  52. def transitionIndices(sft: SimpleFeatureType): Unit

    Permalink

    Update the local value for sft.getIndices.

    Update the local value for sft.getIndices. Only needed for legacy data stores with old index metadata encoding

    sft

    simple feature type

    Attributes
    protected
  53. def updateSchema(typeName: Name, schema: SimpleFeatureType): Unit

    Permalink

    Allows the following modifications to the schema: renaming the feature type renaming attributes appending new attributes enabling/disabling indices through RichSimpleFeatureType.setIndexVersion modifying keywords through user-data

    Allows the following modifications to the schema: renaming the feature type renaming attributes appending new attributes enabling/disabling indices through RichSimpleFeatureType.setIndexVersion modifying keywords through user-data

    Other modifications are not supported.

    typeName

    simple feature type name

    schema

    new simple feature type

    Definition Classes
    MetadataBackedDataStore → DataAccess
    See also

    org.geotools.data.DataAccess#updateSchema(org.opengis.feature.type.Name, org.opengis.feature.type.FeatureType)

  54. def updateSchema(typeName: String, sft: SimpleFeatureType): Unit

    Permalink

    Allows the following modifications to the schema: renaming the feature type renaming attributes appending new attributes enabling/disabling indices through RichSimpleFeatureType.setIndexVersion modifying keywords through user-data

    Allows the following modifications to the schema: renaming the feature type renaming attributes appending new attributes enabling/disabling indices through RichSimpleFeatureType.setIndexVersion modifying keywords through user-data

    Other modifications are not supported.

    typeName

    simple feature type name

    sft

    new simple feature type

    Definition Classes
    MetadataBackedDataStore → DataStore
    See also

    org.geotools.data.DataStore#updateSchema(java.lang.String, org.opengis.feature.simple.SimpleFeatureType)

  55. final def wait(): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  56. final def wait(arg0: Long, arg1: Int): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  57. final def wait(arg0: Long): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  58. def withLock[T](key: String, timeOut: Long, fn: ⇒ T, fallback: ⇒ T): T

    Permalink

    Execute a function wrapped in a lock

    Execute a function wrapped in a lock

    T

    result type

    key

    key to lock on

    timeOut

    how long to wait to acquire the lock, in millis

    fn

    function to run with the lock

    fallback

    function to run if the lock could not be acquired

    Attributes
    protected
    Definition Classes
    DistributedLocking
  59. def withLock[T](key: String, fn: ⇒ T): T

    Permalink

    Execute a function wrapped in a lock

    Execute a function wrapped in a lock

    T

    result type

    key

    key to lock on

    fn

    function to run with the lock

    Attributes
    protected
    Definition Classes
    DistributedLocking

Deprecated Value Members

  1. def catalog: String

    Permalink
    Attributes
    protected
    Annotations
    @deprecated
    Deprecated
  2. def getDistributeVersion: Option[SemanticVersion]

    Permalink
    Annotations
    @deprecated
    Deprecated

    use getDistributedVersion

  3. def getVersion: (String, Set[String])

    Permalink

    Gets the geomesa version

    Gets the geomesa version

    returns

    (client version, iterator version)

    Annotations
    @deprecated
    Deprecated

    use getClientVersion and getDistributedVersion

Inherited from HasGeoMesaStats

Inherited from MetadataBackedDataStore

Inherited from LazyLogging

Inherited from DistributedLocking

Inherited from HasGeoMesaMetadata[String]

Inherited from DataStore

Inherited from DataAccess[SimpleFeatureType, SimpleFeature]

Inherited from AnyRef

Inherited from Any

Ungrouped