Class PersistenceInstaller
Base class for installing persistence components. Subclasses plug in a concrete backend by overriding InstallBlobStore(PersistenceInstallerInstallInput) and/or InstallKeyValueStore(PersistenceInstallerInstallInput); the default Install(PersistenceInstallerInstallInput) and InstallUseCases(IBlobStore) flow is backend-agnostic and works for any IBlobStore-backed subclass out of the box. Supports both IBlobStore (stream-based) and IKeyValueStore (byte-oriented) backends. Abstract because the bare base has no backend: instantiating it would install null stores and fail on the first save/load. Only subclasses that provide a store are meaningful.
Implements
Inherited Members
Namespace: Serenity.Persistence.Installation.Installers
Assembly: Serenity.Global.Installation.dll
Syntax
public abstract class PersistenceInstaller : IInstaller
Constructors
PersistenceInstaller()
Declaration
protected PersistenceInstaller()
Fields
_blobStore
Declaration
protected IBlobStore _blobStore
Field Value
| Type | Description |
|---|---|
| IBlobStore | The installed blob store. |
_keyValueStore
Declaration
protected IKeyValueStore _keyValueStore
Field Value
| Type | Description |
|---|---|
| IKeyValueStore | The installed key-value store. |
_useCases
Declaration
protected PersistenceUseCases _useCases
Field Value
| Type | Description |
|---|---|
| PersistenceUseCases | The persistence use cases. |
Methods
GetKeyValueStore()
Gets the installed key-value store.
Declaration
public IKeyValueStore GetKeyValueStore()
Returns
| Type | Description |
|---|---|
| IKeyValueStore | The installed key-value store, or |
GetStore()
Gets the installed blob store.
Declaration
public IBlobStore GetStore()
Returns
| Type | Description |
|---|---|
| IBlobStore | The installed blob store, or |
GetUseCases()
Gets the installed persistence use cases.
Declaration
public PersistenceUseCases GetUseCases()
Returns
| Type | Description |
|---|---|
| PersistenceUseCases | The installed persistence use cases. |
Install(PersistenceInstallerInstallInput)
Installs the persistence components using the provided input parameters. Both backend hooks are wired: a subclass overriding only InstallKeyValueStore(PersistenceInstallerInstallInput) still gets its store installed (retrievable via GetKeyValueStore()), while the use cases — which require a blob store — are only built when one exists, never against a null store.
Declaration
public virtual void Install(PersistenceInstallerInstallInput input)
Parameters
| Type | Name | Description |
|---|---|---|
| PersistenceInstallerInstallInput | input | The input parameters required for installation. |
InstallBlobStore(PersistenceInstallerInstallInput)
Installs the blob store using the provided input parameters.
Declaration
protected virtual IBlobStore InstallBlobStore(PersistenceInstallerInstallInput input)
Parameters
| Type | Name | Description |
|---|---|---|
| PersistenceInstallerInstallInput | input | The input parameters required for installation. |
Returns
| Type | Description |
|---|---|
| IBlobStore | The installed blob store, or |
InstallKeyValueStore(PersistenceInstallerInstallInput)
Installs the key-value store using the provided input parameters.
Declaration
protected virtual IKeyValueStore InstallKeyValueStore(PersistenceInstallerInstallInput input)
Parameters
| Type | Name | Description |
|---|---|---|
| PersistenceInstallerInstallInput | input | The input parameters required for installation. |
Returns
| Type | Description |
|---|---|
| IKeyValueStore | The installed key-value store, or |
InstallUseCases(IBlobStore)
Installs the persistence use cases backed by the given blob store.
Declaration
protected virtual PersistenceUseCases InstallUseCases(IBlobStore store)
Parameters
| Type | Name | Description |
|---|---|---|
| IBlobStore | store | The blob store to use for the persistence use cases. |
Returns
| Type | Description |
|---|---|
| PersistenceUseCases | The installed persistence use cases. |