Class MapDataSource<TKey, TData, TLoader>
Represents a data source that uses a map (dictionary) to store data.
public class MapDataSource<TKey, TData, TLoader> : DataSource<TKey, TData, TLoader>, IDataSource<TKey, TData, TLoader>, IDataSource<TKey, TData>, IDataSource, IDataCrud, IDataCrud<TKey, TData> where TKey : notnull where TData : IData where TLoader : IDataLoader<TKey, TData>
Type Parameters
TKey
Key type for the map, must be not null.
TData
Data type for the map, must implement IData.
TLoader
Loader type for loading data, must implement IDataLoader.
- Inheritance
-
DataSource<TKey, TData, TLoader>MapDataSource<TKey, TData, TLoader>
- Implements
-
IDataSource<TKey, TData, TLoader>IDataSource<TKey, TData>IDataCrud<TKey, TData>
- Derived
- Inherited Members
- Extension Methods
Constructors
MapDataSource(Map<TKey, TData>?)
Represents a data source that uses a map (dictionary) to store data.
public MapDataSource(Map<TKey, TData>? map = null)
Parameters
map
Map<TKey, TData>Map to use for storing data. If null, a new LazyMap will be created.
Properties
KeyResolver
Key resolver function to resolve keys from data items.
public override Func<TData, TKey>? KeyResolver { get; set; }
Property Value
- Func<TData, TKey>
Log
protected override Logger Log { get; }
Property Value
Methods
Add(TKey, TData)
public override void Add(TKey key, TData item)
Parameters
key
TKeyitem
TData
Clear()
public override void Clear()
Count()
public override int Count()
Returns
Equals(object?)
Determines whether the specified object is equal to the current object.
public override bool Equals(object? obj)
Parameters
obj
objectThe object to compare with the current object.
Returns
ForEach(Action<TKey, TData>)
public override void ForEach(Action<TKey, TData> iterator)
Parameters
iterator
Action<TKey, TData>
Get(TKey)
public override TData Get(TKey key)
Parameters
key
TKey
Returns
- TData
GetAll()
public override List<TData> GetAll()
Returns
- List<TData>
GetHashCode()
Serves as the default hash function.
public override int GetHashCode()
Returns
- int
A hash code for the current object.
Initialize(IDatabase<TKey, TData>)
public override void Initialize(IDatabase<TKey, TData> database)
Parameters
database
IDatabase<TKey, TData>
Load(IDatabase<TKey, TData>, TLoader)
public override void Load(IDatabase<TKey, TData> database, TLoader loader)
Parameters
database
IDatabase<TKey, TData>loader
TLoader
Ready(IDatabase<TKey, TData>)
public override void Ready(IDatabase<TKey, TData> database)
Parameters
database
IDatabase<TKey, TData>
Remove(TKey)
public override TData? Remove(TKey key)
Parameters
key
TKey
Returns
- TData
Terminate(IDatabase<TKey, TData>)
public override void Terminate(IDatabase<TKey, TData> database)
Parameters
database
IDatabase<TKey, TData>
ToString()
Returns a string that represents the current object.
public override string ToString()
Returns
- string
A string that represents the current object.
TryGet(TKey)
public override TData? TryGet(TKey key)
Parameters
key
TKey
Returns
- TData
Unload(IDatabase<TKey, TData>)
public override void Unload(IDatabase<TKey, TData> database)
Parameters
database
IDatabase<TKey, TData>
Verify(IDatabase<TKey, TData>)
public override void Verify(IDatabase<TKey, TData> database)
Parameters
database
IDatabase<TKey, TData>