Table of Contents

Class DataSource<TKey, TData, TLoader>

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

Represents a data source that can be initialized, loaded, and managed.

public abstract class DataSource<TKey, TData, TLoader> : IDataSource<TKey, TData, TLoader>, IDataSource<TKey, TData>, IDataSource, IDataCrud, IDataCrud<TKey, TData> where TData : IData where TLoader : IDataLoader<TKey, TData>

Type Parameters

TKey

TKey of the data source, typically a unique identifier.

TData

TData of the data source, typically an implementation of IData.

TLoader

TLoader of the data source, typically an implementation of IDataLoader.

Inheritance
DataSource<TKey, TData, TLoader>
Implements
IDataSource<TKey, TData, TLoader>
IDataSource<TKey, TData>
IDataCrud<TKey, TData>
Derived
Inherited Members
Extension Methods

Properties

IsInitialized

public bool IsInitialized { get; }

Property Value

bool

IsLoaded

public bool IsLoaded { get; }

Property Value

bool

this[TKey]

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

Parameters

key TKey

Property Value

TData

KeyResolver

Gets or sets the key resolver function that resolves the key from the data item.

public abstract Func<TData, TKey>? KeyResolver { get; set; }

Property Value

Func<TData, TKey>

Log

protected abstract Logger Log { get; }

Property Value

Logger

Methods

Add(TKey, TData)

public abstract 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 abstract void Clear()

Count()

public abstract int Count()

Returns

int

ForEach(Action<TKey, TData>)

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

Parameters

iterator Action<TKey, TData>

Get(TKey)

public abstract TData Get(TKey key)

Parameters

key TKey

Returns

TData

GetAll()

public abstract List<TData> GetAll()

Returns

List<TData>

Initialize(IDatabase<TKey, TData>)

public abstract void Initialize(IDatabase<TKey, TData> database)

Parameters

database IDatabase<TKey, TData>

IsEmpty()

public bool IsEmpty()

Returns

bool

Load(IDatabase<TKey, TData>, TLoader)

public abstract void Load(IDatabase<TKey, TData> database, TLoader loader)

Parameters

database IDatabase<TKey, TData>
loader TLoader

Ready(IDatabase<TKey, TData>)

public abstract void Ready(IDatabase<TKey, TData> database)

Parameters

database IDatabase<TKey, TData>

Remove(TKey)

public abstract TData? Remove(TKey key)

Parameters

key TKey

Returns

TData

Terminate(IDatabase<TKey, TData>)

public abstract void Terminate(IDatabase<TKey, TData> database)

Parameters

database IDatabase<TKey, TData>

TryGet(TKey)

public abstract TData? TryGet(TKey key)

Parameters

key TKey

Returns

TData

Unload(IDatabase<TKey, TData>)

public abstract void Unload(IDatabase<TKey, TData> database)

Parameters

database IDatabase<TKey, TData>

Verify(IDatabase<TKey, TData>)

public abstract void Verify(IDatabase<TKey, TData> database)

Parameters

database IDatabase<TKey, TData>