Interface CacheStore


  • public interface CacheStore
    An API to store and retrieve HTTP responses.
    Author:
    Craig Day
    • Method Summary

      All Methods Static Methods Instance Methods Abstract Methods Default Methods 
      Modifier and Type Method Description
      static CacheStore build()
      Builds a no-op cache store.
      Future<Void> delete​(io.vertx.ext.web.client.impl.cache.CacheKey key)
      Delete a key from the cache.
      default void delete​(io.vertx.ext.web.client.impl.cache.CacheKey key, Handler<AsyncResult<Void>> handler)
      Delete all variations of a key from the cache.
      Future<Void> flush()
      Delete all entries from the cache.
      default void flush​(Handler<AsyncResult<Void>> handler)
      Delete all entries from the cache.
      Future<io.vertx.ext.web.client.impl.cache.CachedHttpResponse> get​(io.vertx.ext.web.client.impl.cache.CacheKey key)
      Retrieve a cached response.
      default void get​(io.vertx.ext.web.client.impl.cache.CacheKey key, Handler<AsyncResult<io.vertx.ext.web.client.impl.cache.CachedHttpResponse>> handler)
      Retrieve a cached response.
      static CacheStore localStore()
      Builds a cache store that uses a ConcurrentHashMap.
      Future<io.vertx.ext.web.client.impl.cache.CachedHttpResponse> set​(io.vertx.ext.web.client.impl.cache.CacheKey key, io.vertx.ext.web.client.impl.cache.CachedHttpResponse response)
      Add a response in the cache with the given key.
      default void set​(io.vertx.ext.web.client.impl.cache.CacheKey key, io.vertx.ext.web.client.impl.cache.CachedHttpResponse response, Handler<AsyncResult<io.vertx.ext.web.client.impl.cache.CachedHttpResponse>> handler)
      Add a response in the cache with the given key.
      static CacheStore sharedDataStore​(Vertx vertx)
      Builds a cache store that uses an AsyncMap from SharedData.
    • Method Detail

      • build

        static CacheStore build()
        Builds a no-op cache store.
        Returns:
        the new cache store
      • sharedDataStore

        static CacheStore sharedDataStore​(Vertx vertx)
        Builds a cache store that uses an AsyncMap from SharedData.
        Parameters:
        vertx - the vertx instance
        Returns:
        the new cache store
      • get

        Future<io.vertx.ext.web.client.impl.cache.CachedHttpResponse> get​(io.vertx.ext.web.client.impl.cache.CacheKey key)
        Retrieve a cached response.
        Parameters:
        key - the key to retrieve
        Returns:
        the response as stored in the cache
      • set

        Future<io.vertx.ext.web.client.impl.cache.CachedHttpResponse> set​(io.vertx.ext.web.client.impl.cache.CacheKey key,
                                                                          io.vertx.ext.web.client.impl.cache.CachedHttpResponse response)
        Add a response in the cache with the given key.
        Parameters:
        key - the key to store the response at
        response - the response to store
        Returns:
        the response
      • delete

        Future<Void> delete​(io.vertx.ext.web.client.impl.cache.CacheKey key)
        Delete a key from the cache.
        Parameters:
        key - the key to delete
        Returns:
        a future so the API can be composed fluently
      • flush

        Future<Void> flush()
        Delete all entries from the cache.
        Returns:
        a future so the API can be composed fluently
      • get

        default void get​(io.vertx.ext.web.client.impl.cache.CacheKey key,
                         Handler<AsyncResult<io.vertx.ext.web.client.impl.cache.CachedHttpResponse>> handler)
        Retrieve a cached response.
        Parameters:
        key - the key to retrieve
        handler - a handler to receive the cached response
        See Also:
        get(CacheKey)
      • set

        default void set​(io.vertx.ext.web.client.impl.cache.CacheKey key,
                         io.vertx.ext.web.client.impl.cache.CachedHttpResponse response,
                         Handler<AsyncResult<io.vertx.ext.web.client.impl.cache.CachedHttpResponse>> handler)
        Add a response in the cache with the given key.
        Parameters:
        key - the key to store the response at
        response - the response to store
        handler - a handler to receive the stored response
        See Also:
        set(CacheKey, CachedHttpResponse)
      • delete

        default void delete​(io.vertx.ext.web.client.impl.cache.CacheKey key,
                            Handler<AsyncResult<Void>> handler)
        Delete all variations of a key from the cache.
        Parameters:
        key - the key to delete
        handler - a handler to receive the delete result
        See Also:
        delete(CacheKey)
      • flush

        default void flush​(Handler<AsyncResult<Void>> handler)
        Delete all entries from the cache.
        Parameters:
        handler - a handler to receive the flush result.
        See Also:
        flush()