Table of Contents

Class FileDataSource<TKey, TData, TLoader>

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

Represents a file-based data source for a database.

public abstract class FileDataSource<TKey, TData, TLoader> : MapDataSource<TKey, TData, TLoader>, IDataSource<TKey, TData, TLoader>, IDataSource<TKey, TData>, IDataSource, IDataCrud, IDataCrud<TKey, TData> where TKey : notnull where TData : IData where TLoader : IDataStreamLoader<TKey, TData>

Type Parameters

TKey

Key type for the data source, must be not null.

TData

Data type for the data source, must implement IData interface.

TLoader

Loader type for the data source, must implement IDataStreamLoader interface.

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

Constructors

FileDataSource(string, string?, string?, bool)

Represents a file-based data source for a database.

protected FileDataSource(string filePath, string? fileName = null, string? extension = "json", bool autoCreateFile = true)

Parameters

filePath string

File path where the data source is located.

fileName string

File name of the data source, without extension.

extension string

File extension of the data source, default is "json".

autoCreateFile bool

Indicates whether to automatically create the file if it does not exist.

Properties

AutoCreateFile

public bool AutoCreateFile { get; }

Property Value

bool

Extension

public string? Extension { get; }

Property Value

string

FileName

public string? FileName { get; set; }

Property Value

string

FilePath

public string FilePath { get; set; }

Property Value

string

IgnoreMissingFile

public virtual bool IgnoreMissingFile { get; }

Property Value

bool

Methods

GetFullFilePath()

Gets the full file path for the data source.

public string GetFullFilePath()

Returns

string

Full file path as a string.

Exceptions

DatabaseException

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

Verify(IDatabase<TKey, TData>)

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

Parameters

database IDatabase<TKey, TData>