Packages

t

lightdb

LightDB

trait LightDB extends Initializable with FeatureSupport[DBFeatureKey]

The database to be implemented. Collections *may* be used without a LightDB instance, but with drastically diminished functionality. It is always ideal for collections to be associated with a database.

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

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 def storeManager: StoreManager

    Default StoreManager to use for collections 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: Collection[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 collection[Doc <: Document[Doc], Model <: DocumentModel[Doc]](model: Model, name: Option[String] = None, store: Option[Store[Doc, Model]] = None, storeManager: Option[StoreManager] = None, maxInsertBatch: Int = 1_000_000, cacheQueries: Boolean = Collection.DefaultCacheQueries): Collection[Doc, Model]

    Create a new Collection and associate it with this database.

    Create a new Collection and associate it with this database. It is preferable that all collections be created before the database is initialized, but collections that are added after init will automatically be initialized during this method call.

    Note: If both are specified, store takes priority over storeManager.

    model

    the model to use for this collection

    name

    the collection's name (defaults to None meaning it will be generated based on the model name)

    store

    specify the store. If this is not set, the database's storeManager will be used to create one

    storeManager

    specify the StoreManager. If this is not set, the database's storeManager will be used.

    maxInsertBatch

    the maximum number of inserts to include in a batch. Defaults to 1 million.

    cacheQueries

    whether to cache queries in memory. This improves performance when running the same queries with different parameters fairly drastically, but consumes a lot of memory if many queries are executed in a single transaction.

  10. def collections: List[Collection[_, _]]

    All collections registered with this database

  11. lazy val databaseInitialized: StoredValue[Boolean]
    Attributes
    protected
  12. def dispose(): Unit
  13. def disposed: Boolean

    True if this database has been disposed.

  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. final def init(): Boolean

    Calls initialize() exactly one time.

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

    Definition Classes
    Initializable
  23. def initialize(): Unit

    Define initialization functionality here, but never call directly.

    Define initialization functionality here, but never call directly.

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

    Identifiable name for this database.

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

  27. final def ne(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  28. final def notify(): Unit
    Definition Classes
    AnyRef
    Annotations
    @IntrinsicCandidate() @native()
  29. final def notifyAll(): Unit
    Definition Classes
    AnyRef
    Annotations
    @IntrinsicCandidate() @native()
  30. def put[T](key: DBFeatureKey[T], value: T): Unit
    Definition Classes
    FeatureSupport
  31. def reIndex(): Int

    Offers each collection the ability to re-index data if supported.

    Offers each collection 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.

  32. final def synchronized[T0](arg0: => T0): T0
    Definition Classes
    AnyRef
  33. def toString(): String
    Definition Classes
    AnyRef → Any
  34. def truncate(): Unit
  35. def truncateOnInit: Boolean

    Automatically truncates all collections in the database during initialization if this is set to true.

    Automatically truncates all collections in the database during initialization if this is set to true. Defaults to false.

    Attributes
    protected
  36. final def wait(arg0: Long, arg1: Int): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])
  37. final def wait(arg0: Long): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])
  38. final def wait(): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])
  39. 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 Initializable

Inherited from AnyRef

Inherited from Any

Ungrouped