LightDB

lightdb.LightDB

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.

Attributes

Graph
Supertypes
trait Disposable
class Object
trait Matchable
class Any
Show all

Members list

Type members

Classlikes

object stored

Attributes

Supertypes
class Object
trait Matchable
class Any
Self type
stored.type

Value members

Abstract methods

def directory: Option[Path]

The base directory for this database. If None, the database is expected to operate entirely in memory.

The base directory for this database. If None, the database is expected to operate entirely in memory.

Attributes

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

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

Attributes

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

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

Attributes

Concrete methods

def collection[Doc <: Document[LazyRef(...)], Model <: DocumentModel[Doc]](model: Model, name: Option[String], storeManager: Option[StoreManager]): Collection[Doc, Model]

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.

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.

Value parameters

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)

storeManager

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

Attributes

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

All collections registered with this database

All collections registered with this database

Attributes

def collectionsByNames(collectionNames: String*): List[Collection[_, _]]

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

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

Attributes

def disposed: Boolean

True if this database has been disposed.

True if this database has been disposed.

Attributes

override protected def doDispose(): Task[Unit]

Attributes

Definition Classes
override protected def initialize(): Task[Unit]

Define initialization functionality here, but never call directly.

Define initialization functionality here, but never call directly.

Attributes

Definition Classes
def name: String

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

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

Attributes

def reIndex(collections: List[Collection[_, _]]): Task[Int]

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. Provide the list of the collections to re-index or all collections will be invoked.

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. Provide the list of the collections to re-index or all collections will be invoked.

Attributes

def truncate(): Task[Unit]
protected def truncateOnInit: Boolean

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

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

Attributes

Inherited methods

def apply[T](key: DBFeatureKey[T]): T

Attributes

Inherited from:
FeatureSupport
def featureMap: Map[DBFeatureKey[Any], Any]

Attributes

Inherited from:
FeatureSupport
def features: Iterable[Any]

Attributes

Inherited from:
FeatureSupport
def get[T](key: DBFeatureKey[T]): Option[T]

Attributes

Inherited from:
FeatureSupport
def getOrCreate[T](key: DBFeatureKey[T], create: => T): T

Attributes

Inherited from:
FeatureSupport
def isDisposes: Boolean

Attributes

Inherited from:
Disposable
def isInitialized: Boolean

Attributes

Inherited from:
Initializable
def put[T](key: DBFeatureKey[T], value: T): Unit

Attributes

Inherited from:
FeatureSupport

Concrete fields

lazy protected val appliedUpgrades: StoredValue[Set[String]]

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

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

Attributes

lazy protected val databaseInitialized: StoredValue[Boolean]

Inherited fields

lazy val dispose: Task[Unit]

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

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

Attributes

Inherited from:
Disposable
lazy val init: Task[Unit]

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

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

Attributes

Inherited from:
Initializable