org.locationtech.geomesa.index.geotools
MetadataBackedDataStore
Companion object MetadataBackedDataStore
abstract class MetadataBackedDataStore extends DataStore with HasGeoMesaMetadata[String] with HasGeoMesaFeatureReader with DistributedLocking with LazyLogging
Abstract base class for data store implementations using metadata to track schemas
- Alphabetic
- By Inheritance
- MetadataBackedDataStore
- LazyLogging
- DistributedLocking
- HasGeoMesaFeatureReader
- HasGeoMesaMetadata
- DataStore
- DataAccess
- AnyRef
- Any
- Hide All
- Show All
- Public
- All
Instance Constructors
- new MetadataBackedDataStore(config: NamespaceConfig)
Abstract Value Members
-
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
-
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
-
abstract
def
getFeatureSource(arg0: String): SimpleFeatureSource
- Definition Classes
- DataStore
- Annotations
- @throws( classOf[java.io.IOException] )
-
abstract
def
metadata: GeoMesaMetadata[String]
- Definition Classes
- HasGeoMesaMetadata
-
abstract
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
-
abstract
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
-
abstract
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
-
abstract
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
- Annotations
- @throws( classOf[IllegalArgumentException] )
- Exceptions thrown
java.lang.IllegalArgumentException
if schema is invalid and shouldn't be written
-
abstract
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
- Annotations
- @throws( classOf[IllegalArgumentException] )
- Exceptions thrown
java.lang.IllegalArgumentException
if schema is invalid and shouldn't be updated
Concrete Value Members
-
final
def
!=(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
final
def
##(): Int
- Definition Classes
- AnyRef → Any
-
final
def
==(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
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]
-
final
def
asInstanceOf[T0]: T0
- Definition Classes
- Any
-
def
clone(): AnyRef
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws( ... ) @native() @HotSpotIntrinsicCandidate()
-
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)
-
def
dispose(): Unit
Cleanup any open connections, etc.
Cleanup any open connections, etc. Equivalent to java.io.Closeable.close()
- Definition Classes
- MetadataBackedDataStore → DataAccess
- See also
org.geotools.data.DataAccess#dispose()
-
final
def
eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
-
def
equals(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
final
def
getClass(): Class[_]
- Definition Classes
- AnyRef → Any
- Annotations
- @native() @HotSpotIntrinsicCandidate()
-
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)
-
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)
-
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)
-
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)
-
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)
-
def
getInfo(): ServiceInfo
- returns
service info
- Definition Classes
- MetadataBackedDataStore → DataAccess
- See also
org.geotools.data.DataAccess#getInfo()
-
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()
-
def
getNames(): List[Name]
- returns
existing simple feature type names
- Definition Classes
- MetadataBackedDataStore → DataAccess
- See also
org.geotools.data.DataAccess#getNames()
-
def
getSchema(typeName: String): SimpleFeatureType
- typeName
feature type name
- returns
feature type, or null if it does not exist
- Definition Classes
- MetadataBackedDataStore → DataStore
- See also
org.geotools.api.data.DataStore#getSchema(java.lang.String)
-
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)
-
def
getTypeNames(): Array[String]
- returns
existing simple feature type names
- Definition Classes
- MetadataBackedDataStore → DataStore
- See also
org.geotools.api.data.DataStore#getTypeNames()
-
def
hashCode(): Int
- Definition Classes
- AnyRef → Any
- Annotations
- @native() @HotSpotIntrinsicCandidate()
-
val
interceptors: QueryInterceptorFactory
- Attributes
- protected[geomesa]
-
final
def
isInstanceOf[T0]: Boolean
- Definition Classes
- Any
-
lazy val
logger: Logger
- Attributes
- protected
- Definition Classes
- LazyLogging
- Annotations
- @transient()
-
final
def
ne(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
-
final
def
notify(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native() @HotSpotIntrinsicCandidate()
-
final
def
notifyAll(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native() @HotSpotIntrinsicCandidate()
-
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)
-
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)
-
final
def
synchronized[T0](arg0: ⇒ T0): T0
- Definition Classes
- AnyRef
-
def
toString(): String
- Definition Classes
- AnyRef → Any
-
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)
-
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)
-
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
-
final
def
wait(arg0: Long, arg1: Int): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
-
final
def
wait(arg0: Long): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... ) @native()
-
final
def
wait(): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
-
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
-
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
-
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
-
def
finalize(): Unit
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws( classOf[java.lang.Throwable] ) @Deprecated
- Deprecated