Table of Contents

Class Database<TKey, TData, TSource, TLoader>

Namespace
RisingV.Shared.Databases
Assembly
RisingV.Shared.dll

Represents a generic database interface.

public abstract class Database<TKey, TData, TSource, TLoader> : IDatabase<TKey, TData>, IDatabase, IDataCrud, IManageableLifecycle<DatabaseManager>, IManageableLifecycle, IReloadable, IManageable<DatabaseManager>, IManageable, IDataCrud<TKey, TData> where TData : IData where TSource : IDataSource<TKey, TData, TLoader> where TLoader : IDataLoader<TKey, TData>

Type Parameters

TKey

Key type for the database.

TData

Data type for the database.

TSource

Data source type for the database.

TLoader

Data loader type for the database.

Inheritance
Database<TKey, TData, TSource, TLoader>
Implements
IDatabase<TKey, TData>
IDataCrud<TKey, TData>
Derived
Inherited Members
Extension Methods

Constructors

Database(string, TSource, TLoader)

Represents a generic database interface.

protected Database(string name, TSource source, TLoader loader)

Parameters

name string

Name of the database.

source TSource

Data source for the database.

loader TLoader

Data loader for the database.

Properties

DataLoader

public TLoader DataLoader { get; }

Property Value

TLoader

DataSource

public TSource DataSource { get; }

Property Value

TSource

IsInitialized

Indicates whether the database has been initialized.

public bool IsInitialized { get; }

Property Value

bool

IsLoaded

Indicates whether the database has been loaded.

public bool IsLoaded { get; }

Property Value

bool

this[TKey]

Allows getting/setting via square brackets: myDb[key] or myDb[key] = item.

public TData this[TKey key] { get; set; }

Parameters

key TKey

Property Value

TData

Log

protected abstract Logger Log { get; }

Property Value

Logger

Name

public string Name { get; }

Property Value

string

Methods

Add(TKey, TData)

public virtual void Add(TKey key, TData item)

Parameters

key TKey
item TData

Add(TData)

public virtual TKey Add(TData item)

Parameters

item TData

Returns

TKey

Clear()

public virtual void Clear()

Clear(DatabaseManager)

Clears the database, removing all data.

public virtual void Clear(DatabaseManager manager)

Parameters

manager DatabaseManager

Count()

public virtual int Count()

Returns

int

ForEach(Action<TKey, TData>)

public void ForEach(Action<TKey, TData> iterator)

Parameters

iterator Action<TKey, TData>

Get(TKey)

public virtual TData Get(TKey key)

Parameters

key TKey

Returns

TData

GetAll()

public virtual List<TData> GetAll()

Returns

List<TData>

Initialize(DatabaseManager, List<IPlugin>)

Initializes the lifecycle of the manager with a specific type.

public virtual void Initialize(DatabaseManager manager, List<IPlugin> plugins)

Parameters

manager DatabaseManager
plugins List<IPlugin>

Load(DatabaseManager, List<IPlugin>)

Loads the manager and its dependencies with a specific type.

public virtual void Load(DatabaseManager manager, List<IPlugin> plugins)

Parameters

manager DatabaseManager
plugins List<IPlugin>

Ready(DatabaseManager, List<IPlugin>)

Prepares the manager for use with a specific type, typically after loading.

public void Ready(DatabaseManager manager, List<IPlugin> plugins)

Parameters

manager DatabaseManager
plugins List<IPlugin>

Reload(DatabaseManager)

Reloads the database from its source.

public void Reload(DatabaseManager manager)

Parameters

manager DatabaseManager

Reload(DatabaseManager, List<IPlugin>, ReloadReason)

Reloads the manager and its dependencies with a specific type.

public virtual void Reload(DatabaseManager manager, List<IPlugin> plugins, ReloadReason reason)

Parameters

manager DatabaseManager
plugins List<IPlugin>
reason ReloadReason

Remove(TKey)

public virtual TData? Remove(TKey key)

Parameters

key TKey

Returns

TData

Terminate(DatabaseManager, List<IPlugin>)

Terminates the manager and cleans up resources with a specific type.

public virtual void Terminate(DatabaseManager manager, List<IPlugin> plugins)

Parameters

manager DatabaseManager
plugins List<IPlugin>

TryGet(TKey)

public virtual TData? TryGet(TKey key)

Parameters

key TKey

Returns

TData

Unload(DatabaseManager)

Unloads the database, clearing its data.

public void Unload(DatabaseManager manager)

Parameters

manager DatabaseManager

Unload(DatabaseManager, List<IPlugin>)

Unloads the manager and its dependencies with a specific type.

public virtual void Unload(DatabaseManager manager, List<IPlugin> plugins)

Parameters

manager DatabaseManager
plugins List<IPlugin>

VerifySource()

Verify the source of the database.

public virtual void VerifySource()