Packages

t

lightdb

LightDB

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.

Linear Supertypes
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. LightDB
  2. FeatureSupport
  3. Disposable
  4. Initializable
  5. AnyRef
  6. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. Protected

Type Members

  1. abstract type SM <: StoreManager

Abstract Value Members

  1. 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.

  2. abstract val storeManager: SM

    Default StoreManager to use for stores that do not specify a Store.

  3. abstract def upgrades: List[DatabaseUpgrade]

    List of upgrades that should be applied at the start of this database.

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. lazy val appliedUpgrades: StoredValue[Set[String]]
    Attributes
    protected
  5. def apply[T](key: DBFeatureKey[T]): T
    Definition Classes
    FeatureSupport
  6. final def asInstanceOf[T0]: T0
    Definition Classes
    Any
  7. lazy val backingStore: Store[KeyValue, KeyValue.type]

    Backing key/value store used for persistent internal settings, StoredValues, and general key/value storage.

  8. def clone(): AnyRef
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.CloneNotSupportedException]) @IntrinsicCandidate() @native()
  9. def customStore[Doc <: Document[Doc], Model <: DocumentModel[Doc], SM <: StoreManager](model: Model, storeManager: SM, name: Option[String] = None): customStore.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)

  10. lazy val databaseInitialized: StoredValue[Boolean]
    Attributes
    protected
  11. lazy val dispose: Task[Unit]

    Calls doDispose() exactly one time.

    Calls doDispose() exactly one time. Safe to call multiple times.

    Definition Classes
    Disposable
  12. def disposed: Boolean

    True if this database has been disposed.

  13. def doDispose(): Task[Unit]
    Attributes
    protected
    Definition Classes
    LightDBDisposable
  14. final def eq(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  15. def equals(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef → Any
  16. def featureMap: Map[DBFeatureKey[Any], Any]
    Definition Classes
    FeatureSupport
  17. def features: Iterable[Any]
    Definition Classes
    FeatureSupport
  18. def get[T](key: DBFeatureKey[T]): Option[T]
    Definition Classes
    FeatureSupport
  19. final def getClass(): Class[_ <: AnyRef]
    Definition Classes
    AnyRef → Any
    Annotations
    @IntrinsicCandidate() @native()
  20. def getOrCreate[T](key: DBFeatureKey[T], create: => T): T
    Definition Classes
    FeatureSupport
  21. def hashCode(): Int
    Definition Classes
    AnyRef → Any
    Annotations
    @IntrinsicCandidate() @native()
  22. lazy val init: Task[Unit]

    Calls initialize() exactly one time.

    Calls initialize() exactly one time. Safe to call multiple times.

    Definition Classes
    Initializable
  23. def initialize(): Task[Unit]

    Define initialization functionality here, but never call directly.

    Define initialization functionality here, but never call directly.

    Attributes
    protected
    Definition Classes
    LightDBInitializable
  24. def isDisposes: Boolean
    Definition Classes
    Disposable
  25. def isInitialized: Boolean
    Definition Classes
    Initializable
  26. final def isInstanceOf[T0]: Boolean
    Definition Classes
    Any
  27. def name: String

    Identifiable name for this database.

    Identifiable name for this database. Defaults to using the class name.

  28. final def ne(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  29. final def notify(): Unit
    Definition Classes
    AnyRef
    Annotations
    @IntrinsicCandidate() @native()
  30. final def notifyAll(): Unit
    Definition Classes
    AnyRef
    Annotations
    @IntrinsicCandidate() @native()
  31. def optimize(stores: List[Store[_, _]] = stores): Task[Unit]

    Offers each store the ability to optimize the store.

  32. def put[T](key: DBFeatureKey[T], value: T): Unit
    Definition Classes
    FeatureSupport
  33. 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.

  34. 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)

  35. def stores: List[Store[_, _]]

    All stores registered with this database

  36. def storesByNames(storeNames: String*): List[Store[_, _]]

    Returns a list of matching store names based on the provided names

  37. final def synchronized[T0](arg0: => T0): T0
    Definition Classes
    AnyRef
  38. def toString(): String
    Definition Classes
    AnyRef → Any
  39. def truncate(): Task[Unit]
  40. 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
  41. final def wait(arg0: Long, arg1: Int): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])
  42. final def wait(arg0: Long): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])
  43. final def wait(): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])
  44. object stored

Deprecated Value Members

  1. def finalize(): Unit
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.Throwable]) @Deprecated
    Deprecated

    (Since version 9)

Inherited from Disposable

Inherited from Initializable

Inherited from AnyRef

Inherited from Any

Ungrouped