Interface AsyncProxyManager<K>

Type Parameters:
K - type of primary key
All Known Implementing Classes:
AsyncProxyManagerView

public interface AsyncProxyManager<K>
The asynchronous equivalent of ProxyManager.
See Also:
  • Method Details

    • getProxy

      default AsyncBucketProxy getProxy(K key, Supplier<CompletableFuture<BucketConfiguration>> configurationSupplier)
      Creates bucket-proxy that configured by default parameters that set on proxy-manager level.

      In case if you need to configure something special for bucket like implicit config replacement you should to use builder() instead of this method.

      Parameters:
      key - the key that used in external storage to distinguish one bucket from another.
      configurationSupplier - provider for bucket configuration
      Returns:
      new instance of AsyncBucketProxy
    • builder

      Creates new instance of RemoteAsyncBucketBuilder

      Use this method only if you need to create bucket with parameters that can not be specified via AbstractProxyManagerBuilder, otherwise prefer getProxy(Object, Supplier)

      Returns:
      new instance of RemoteAsyncBucketBuilder
    • removeProxy

      CompletableFuture<Void> removeProxy(K key)
      Asynchronously removes persisted state of bucket from underlying storage.
      Parameters:
      key - the primary key of bucket which state need to be removed from underlying storage.
      Returns:
      the future that will be completed after deletion
    • getProxyConfiguration

      CompletableFuture<Optional<BucketConfiguration>> getProxyConfiguration(K key)
      Asynchronously locates configuration of bucket which actually stored in the underlying storage.
      Parameters:
      key - the unique identifier used to point to the bucket in external storage.
      Returns:
      The future that completed by optional surround the configuration or empty optional if bucket with specified key is not stored.
    • withMapper

      default <K1> AsyncProxyManager<K1> withMapper(Function<? super K1,? extends K> mapper)
      Returns a proxy object that wraps this AsyncProxyManager such that keys are first mapped using the specified mapping function before being sent to the remote store. The returned AsyncProxyManager shares the same underlying store as the original, and keys that map to the same value will share the same remote state.
      Type Parameters:
      K1 - the type of key accepted by returned AsyncProxyManager
      Parameters:
      mapper - the mapper function to apply to keys
      Returns:
      a proxy object that wraps this AsyncProxyManager