Class DataSource<TKey, TData, TLoader>
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
IsLoaded
public bool IsLoaded { get; }
Property Value
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
Methods
Add(TKey, TData)
public abstract void Add(TKey key, TData item)
Parameters
key
TKeyitem
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
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
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>