trait LightDB extends Initializable with Disposable with FeatureSupport[DBFeatureKey]
The database to be implemented. stores *may* be used without a LightDB instance, but with drastically diminished functionality. It is always ideal for stores to be associated with a database.
- Alphabetic
- By Inheritance
- LightDB
- FeatureSupport
- Disposable
- Initializable
- AnyRef
- Any
- Hide All
- Show All
- Public
- Protected
Type Members
- type S[Doc <: Document[Doc], Model <: DocumentModel[Doc]] = SM.S[Doc, Model]
- abstract type SM <: StoreManager
Abstract Value Members
- abstract def directory: Option[Path]
The base directory for this database.
The base directory for this database. If None, the database is expected to operate entirely in memory.
- abstract val storeManager: SM
Default StoreManager to use for stores that do not specify a Store.
- abstract def upgrades: List[DatabaseUpgrade]
List of upgrades that should be applied at the start of this database.
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
- lazy val appliedUpgrades: StoredValue[Set[String]]
- Attributes
- protected
- def apply[T](key: DBFeatureKey[T]): T
- Definition Classes
- FeatureSupport
- final def asInstanceOf[T0]: T0
- Definition Classes
- Any
- lazy val backingStore: Store[KeyValue, KeyValue.type]
Backing key/value store used for persistent internal settings, StoredValues, and general key/value storage.
- def clone(): AnyRef
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.CloneNotSupportedException]) @IntrinsicCandidate() @native()
- lazy val databaseInitialized: StoredValue[Boolean]
- Attributes
- protected
- lazy val dispose: Task[Unit]
Calls doDispose() exactly one time.
Calls doDispose() exactly one time. Safe to call multiple times.
- Definition Classes
- Disposable
- def disposed: Boolean
True if this database has been disposed.
- def doDispose(): Task[Unit]
- Attributes
- protected
- Definition Classes
- LightDB → Disposable
- final def eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- def equals(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef → Any
- def featureMap: Map[DBFeatureKey[Any], Any]
- Definition Classes
- FeatureSupport
- def features: Iterable[Any]
- Definition Classes
- FeatureSupport
- def get[T](key: DBFeatureKey[T]): Option[T]
- Definition Classes
- FeatureSupport
- final def getClass(): Class[_ <: AnyRef]
- Definition Classes
- AnyRef → Any
- Annotations
- @IntrinsicCandidate() @native()
- def getOrCreate[T](key: DBFeatureKey[T], create: => T): T
- Definition Classes
- FeatureSupport
- def hashCode(): Int
- Definition Classes
- AnyRef → Any
- Annotations
- @IntrinsicCandidate() @native()
- lazy val init: Task[Unit]
Calls initialize() exactly one time.
Calls initialize() exactly one time. Safe to call multiple times.
- Definition Classes
- Initializable
- def initialize(): Task[Unit]
Define initialization functionality here, but never call directly.
Define initialization functionality here, but never call directly.
- Attributes
- protected
- Definition Classes
- LightDB → Initializable
- def isDisposes: Boolean
- Definition Classes
- Disposable
- def isInitialized: Boolean
- Definition Classes
- Initializable
- final def isInstanceOf[T0]: Boolean
- Definition Classes
- Any
- def multiStore[Key, Doc <: Document[Doc], Model <: DocumentModel[Doc]](model: Model, nameFromKey: (Key) => String = (k: Key) => k.toString): MultiStore[Key, Doc, Model, SM]
- def multiStoreCustom[Key, Doc <: Document[Doc], Model <: DocumentModel[Doc], SM <: StoreManager](model: Model, storeManager: SM, nameFromKey: (Key) => String = (k: Key) => k.toString): MultiStore[Key, Doc, Model, SM]
- def name: String
Identifiable name for this database.
Identifiable name for this database. Defaults to using the class name.
- final def ne(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- final def notify(): Unit
- Definition Classes
- AnyRef
- Annotations
- @IntrinsicCandidate() @native()
- final def notifyAll(): Unit
- Definition Classes
- AnyRef
- Annotations
- @IntrinsicCandidate() @native()
- def optimize(stores: List[Store[_, _]] = stores): Task[Unit]
Offers each store the ability to optimize the store.
- def put[T](key: DBFeatureKey[T], value: T): Unit
- Definition Classes
- FeatureSupport
- def reIndex(stores: List[Store[_, _]] = stores): Task[Int]
Offers each store the ability to re-index data if supported.
Offers each store the ability to re-index data if supported. Only stores that separate storage and indexing (like SplitStore) will do any work. Returns the number of stores that were re-indexed. Provide the list of the stores to re-index or all stores will be invoked.
- def reverseStore[E <: EdgeDocument[E, F, T], F <: Document[F], T <: Document[T], M <: DocumentModel[E], RM <: EdgeModel[ReverseEdgeDocument[E, F, T], T, F]](model: RM, forward: S[E, M]): S[ReverseEdgeDocument[E, F, T], RM]
- def store[Doc <: Document[Doc], Model <: DocumentModel[Doc]](model: Model, name: Option[String] = None): SM.S[Doc, Model]
Create a new store and associate it with this database.
Create a new store and associate it with this database. It is preferable that all stores be created before the database is initialized, but stores that are added after init will automatically be initialized during this method call.
- model
the model to use for this store
- name
the store's name (defaults to None meaning it will be generated based on the model name)
- def storeCustom[Doc <: Document[Doc], Model <: DocumentModel[Doc], SM <: StoreManager](model: Model, storeManager: SM, name: Option[String] = None): storeCustom.SM.S[Doc, Model]
Create a new store and associate it with this database.
Create a new store and associate it with this database. It is preferable that all stores be created before the database is initialized, but stores that are added after init will automatically be initialized during this method call.
- model
the model to use for this store
- storeManager
specify the StoreManager
- name
the store's name (defaults to None meaning it will be generated based on the model name)
- def stores: List[Store[_, _ <: DocumentModel[_]]]
All stores registered with this database
- def storesByNames(storeNames: String*): List[Store[_, _]]
Returns a list of matching store names based on the provided names
- final def synchronized[T0](arg0: => T0): T0
- Definition Classes
- AnyRef
- def toString(): String
- Definition Classes
- AnyRef → Any
- lazy val transactions: TransactionManager
- def truncate(): Task[Unit]
- def truncateOnInit: Boolean
Automatically truncates all stores in the database during initialization if this is set to true.
Automatically truncates all stores in the database during initialization if this is set to true. Defaults to false.
- Attributes
- protected
- final def wait(arg0: Long, arg1: Int): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
- final def wait(arg0: Long): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
- final def wait(): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
- object stored
Deprecated Value Members
- def finalize(): Unit
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.Throwable]) @Deprecated
- Deprecated
(Since version 9)