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, HasGeoMesaFeatureReader, 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. HasGeoMesaFeatureReader
  7. HasGeoMesaMetadata
  8. DataStore
  9. DataAccess
  10. AnyRef
  11. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

Instance Constructors

  1. new GeoMesaDataStore(config: GeoMesaDataStoreConfig)

    config

    common datastore configuration options - subclasses can extend this

Abstract Value Members

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

    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): Closeable

    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]
  4. abstract def metadata: GeoMesaMetadata[String]
    Definition Classes
    HasGeoMesaMetadata
  5. abstract def stats: GeoMesaStats
    Definition Classes
    HasGeoMesaStats

Concrete Value Members

  1. final def !=(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  2. final def ##(): Int
    Definition Classes
    AnyRef → Any
  3. final def ==(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  4. def acquireCatalogLock(): Closeable

    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[geomesa]
    Definition Classes
    MetadataBackedDataStore
  5. final def asInstanceOf[T0]: T0
    Definition Classes
    Any
  6. def checkSchemaCompatibility(typeName: String, sft: SimpleFeatureType): SchemaCompatibility

    Checks a simple feature type against an existing schema

    Checks a simple feature type against an existing schema

    typeName

    type name

    sft

    udpated simple feature type

  7. def clone(): AnyRef
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( ... ) @native() @HotSpotIntrinsicCandidate()
  8. val config: GeoMesaDataStoreConfig
  9. def createSchema(schema: SimpleFeatureType): Unit

    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.geotools.api.feature.type.FeatureType)

  10. def delete(): Unit

    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.

  11. def dispose(): Unit

    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()

  12. final def eq(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  13. def equals(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  14. def getAllIndexTableNames(typeName: String): Seq[String]

    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]

    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[_]
    Definition Classes
    AnyRef → Any
    Annotations
    @native() @HotSpotIntrinsicCandidate()
  17. def getClientVersion: SemanticVersion

    Gets the geomesa version

    Gets the geomesa version

    returns

    client version

  18. def getDistributedVersion: Option[SemanticVersion]

    Gets the geomesa version

    Gets the geomesa version

    returns

    iterator version, if data store has iterators

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

    query

    query to execute

    transaction

    transaction to use (currently ignored)

    returns

    feature reader

    Definition Classes
    MetadataBackedDataStore → DataStore
    See also

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

  20. def getFeatureSource(typeName: String): GeoMesaFeatureStore

    typeName

    simple feature type name

    returns

    featureStore, suitable for reading and writing

    Definition Classes
    GeoMesaDataStore → DataStore
    See also

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

  21. def getFeatureSource(typeName: Name): SimpleFeatureSource

    typeName

    simple feature type name

    returns

    featureStore, suitable for reading and writing

    Definition Classes
    MetadataBackedDataStore → DataStore → DataAccess
    See also

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

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

    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
    MetadataBackedDataStore → DataStore
    See also

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

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

    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.api.data.DataStore#getFeatureWriter(java.lang.String, org.geotools.api.data.Transaction)

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

    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
    MetadataBackedDataStore → DataStore
    See also

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

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

    Writes to the specified indices

    Writes to the specified indices

    typeName

    feature type name

    indices

    indices to write

  26. def getInfo(): ServiceInfo

    returns

    service info

    Definition Classes
    MetadataBackedDataStore → DataAccess
    See also

    org.geotools.data.DataAccess#getInfo()

  27. def getLockingManager(): LockingManager

    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.api.data.DataStore#getLockingManager()

  28. def getNames(): List[Name]

    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]]

    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

    typeName

    feature type name

    returns

    feature type, or null if it does not exist

    Definition Classes
    GeoMesaDataStoreMetadataBackedDataStore → DataStore
    See also

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

  31. def getSchema(name: Name): SimpleFeatureType

    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.geotools.api.feature.type.Name)

  32. def getTypeNames(): Array[String]

    returns

    existing simple feature type names

    Definition Classes
    MetadataBackedDataStore → DataStore
    See also

    org.geotools.api.data.DataStore#getTypeNames()

  33. def hashCode(): Int
    Definition Classes
    AnyRef → Any
    Annotations
    @native() @HotSpotIntrinsicCandidate()
  34. val interceptors: QueryInterceptorFactory
    Attributes
    protected[geomesa]
    Definition Classes
    MetadataBackedDataStore
  35. final def isInstanceOf[T0]: Boolean
    Definition Classes
    Any
  36. def loadIteratorVersions: Set[String]

    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
    Attributes
    protected
    Definition Classes
    LazyLogging
    Annotations
    @transient()
  38. val manager: IndexManager
  39. final def ne(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  40. final def notify(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native() @HotSpotIntrinsicCandidate()
  41. final def notifyAll(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native() @HotSpotIntrinsicCandidate()
  42. def onSchemaCreated(sft: SimpleFeatureType): Unit

    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

    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

    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

    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

    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]
  48. def removeSchema(typeName: Name): Unit

    typeName

    simple feature type name

    Definition Classes
    MetadataBackedDataStore → DataAccess
    See also

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

  49. def removeSchema(typeName: String): Unit

    Deletes the schema metadata

    Deletes the schema metadata

    typeName

    simple feature type name

    Definition Classes
    MetadataBackedDataStore → DataStore
    See also

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

  50. final def synchronized[T0](arg0: ⇒ T0): T0
    Definition Classes
    AnyRef
  51. def toString(): String
    Definition Classes
    AnyRef → Any
  52. def transitionIndices(sft: SimpleFeatureType): Unit

    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

    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.geotools.api.feature.type.Name, org.geotools.api.feature.type.FeatureType)

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

    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.api.data.DataStore#updateSchema(java.lang.String, org.geotools.api.feature.simple.SimpleFeatureType)

  55. def validateSchemaUpdate(existing: SimpleFeatureType, schema: SimpleFeatureType): Either[UnsupportedOperationException, Compatible]

    Validate a call to updateSchema, throwing errors on failed validation

    Validate a call to updateSchema, throwing errors on failed validation

    existing

    existing schema

    schema

    updated sft

    returns

    validation result

    Attributes
    protected
    Definition Classes
    MetadataBackedDataStore
  56. final def wait(arg0: Long, arg1: Int): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  57. final def wait(arg0: Long): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... ) @native()
  58. final def wait(): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  59. def withLock[T](key: String, timeOut: Long, fn: ⇒ T, fallback: ⇒ T): T

    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
  60. def withLock[T](key: String, timeOut: Long, fn: ⇒ T): T

    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

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

    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 finalize(): Unit
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] ) @Deprecated
    Deprecated

Inherited from HasGeoMesaStats

Inherited from MetadataBackedDataStore

Inherited from LazyLogging

Inherited from DistributedLocking

Inherited from HasGeoMesaFeatureReader

Inherited from HasGeoMesaMetadata[String]

Inherited from DataStore

Inherited from DataAccess[SimpleFeatureType, SimpleFeature]

Inherited from AnyRef

Inherited from Any

Ungrouped