Show / Hide Table of Contents

Class StoreLoaderAttribute

Registers a static method as a store loader. The method must comply with StoreLoader delegate.

Inheritance
System.Object
StoreLoaderAttribute
Namespace: Libplanet.Store
Assembly: Libplanet.Store.dll
Syntax
public class StoreLoaderAttribute : Attribute
Examples

With the below code, SampleStore and SampleStateStore-backed TrieStateStore can be instantiated from a URI like sample:///home/foo/bar?cache=512:

[StoreLoader("sample")]
private static (IStore Store, IStateStore StateStore) Loader(Uri storeUri)
{
    NameValueCollection query = HttpUtility.ParseQueryString(storeUri.Query);
    int cache = query.GetInt32("cache", 128);
    var store = new SampleStore(storeUri.LocalPath, cache);
    var stateStore = new SampleStateStore(storeUri.LocalPath, cache);
    return (store, stateStore);
}

Constructors

| Improve this Doc View Source

StoreLoaderAttribute(String)

Instniates a new StoreLoaderAttribute with the specified uriScheme.

Declaration
public StoreLoaderAttribute(string uriScheme)
Parameters
Type Name Description
System.String uriScheme

The URI scheme to associate with the attributed store loader method.

Properties

| Improve this Doc View Source

UriScheme

The URI scheme to associate with the attributed store loader method.

Declaration
public string UriScheme { get; }
Property Value
Type Description
System.String

Methods

| Improve this Doc View Source

ListStoreLoaders()

Lists all registered store loaders.

Declaration
public static IEnumerable<(string UriScheme, Type DeclaringType)> ListStoreLoaders()
Returns
Type Description
IEnumerable<System.ValueTuple<System.String, Type>>

Pairs of registered URI scheme and declaring type.

| Improve this Doc View Source

LoadStore(Uri)

Loads a pair of IStore and IStateStore from the specified storeUri.

Declaration
public static (IStore Store, IStateStore StateStore)? LoadStore(Uri storeUri)
Parameters
Type Name Description
Uri storeUri

A URI referring to a store.

Returns
Type Description
System.Nullable<System.ValueTuple<IStore, IStateStore>>

A pair of loaded IStore and IStateStore.

  • Improve this Doc
  • View Source
In This Article
Back to top Copyright © 2018–2023 Planetarium