DataFileEntry Pennington.Data
Singleton holder for a single registered data file. The first call to GetValue loads and deserializes the file via DataFileLoader; subsequent calls return the cached value until FileWatchDispatcher reports the file has changed, at which point the next access reloads it.
Properties
Namestring- Logical name supplied at registration; lookup key for
Get. ValueTypeType- The closed generic type the entry was registered with.
WatchScopesIReadOnlyList<FileWatchScope>- Directories needing an OS-level watcher. Empty (the default) for aggregators that ride notifications other watchers already produce.
Constructors
DataFileEntry
#public DataFileEntry`1(string name, string path, IFileSystem fileSystem)
Creates the entry; the file itself is not read until GetValue is called.
Parameters
namestring- Logical name; the lookup key for
Get. pathstring- Path to the data file. Resolved against the current working directory if relative.
fileSystemIFileSystem- Abstraction used to read the file.
Methods
GetValue
#public object GetValue()
Returns the current loaded value, refreshed if the underlying file has changed since last access.
Returns
objectOnFileChanged
#public FileWatchResponse OnFileChanged(FileChangeNotification change)
Called on the file-watcher thread for every watched change. Must be quick and thread-safe.
Parameters
changeFileChangeNotification
Returns
FileWatchResponsePennington.Data.DataFileEntry
namespace Pennington.Data;
/// Singleton holder for a single registered data file. The first call to GetValue loads and deserializes the file via DataFileLoader; subsequent calls return the cached value until FileWatchDispatcher reports the file has changed, at which point the next access reloads it.
public class DataFileEntry
{
/// Creates the entry; the file itself is not read until GetValue is called.
public DataFileEntry`1(string name, string path, IFileSystem fileSystem)
;
/// Returns the current loaded value, refreshed if the underlying file has changed since last access.
public object GetValue()
;
/// Logical name supplied at registration; lookup key for Get.
public string Name { get; }
/// Called on the file-watcher thread for every watched change. Must be quick and thread-safe.
public FileWatchResponse OnFileChanged(FileChangeNotification change)
;
/// The closed generic type the entry was registered with.
public Type ValueType { get; }
/// Directories needing an OS-level watcher. Empty (the default) for aggregators that ride notifications other watchers already produce.
public IReadOnlyList<FileWatchScope> WatchScopes { get; }
}