logo SERENITY
Game Systems Foundation
Search Results for

    Show / Hide Table of Contents

    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.

    Inheritance
    object
    PersistenceInstaller
    FilePersistenceInstaller
    Implements
    IInstaller
    Inherited Members
    object.ToString()
    object.Equals(object)
    object.Equals(object, object)
    object.ReferenceEquals(object, object)
    object.GetHashCode()
    object.GetType()
    object.MemberwiseClone()
    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 null if a blob store is used instead.

    GetStore()

    Gets the installed blob store.

    Declaration
    public IBlobStore GetStore()
    Returns
    Type Description
    IBlobStore

    The installed blob store, or null if a key-value store is used instead.

    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 null if not applicable.

    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 null if not applicable.

    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.

    Implements

    IInstaller
    In this article
    © 2026 Serenity. All Rights Reserved