# Class MapBasedBuildCacheService

java.lang.Object
org.gradle.caching.MapBasedBuildCacheService

All Implemented Interfaces:
  `Closeable, AutoCloseable, BuildCacheService`

public class MapBasedBuildCacheService extends Object implements BuildCacheService
Simple build cache implementation that delegates to a `ConcurrentMap`.

Since:
  3.5

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `MapBasedBuildCacheService(ConcurrentMap<String,byte[]> delegate)`
  Creates a new `MapBasedBuildCacheService`.

- ## Method Summary

  Modifier and Type
  Method
  Description
  `void`
  `close()`
  Clean up any resources held by the cache once it's not used anymore.
  `boolean`
  `load(BuildCacheKey key, BuildCacheEntryReader reader)`
  Load the cached entry corresponding to the given cache key.
  `void`
  `store(BuildCacheKey key, BuildCacheEntryWriter output)`
  Store the cache entry with the given cache key.

  ### Methods inherited from class Object

  `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- ## Constructor Details

  - ### MapBasedBuildCacheService

    public MapBasedBuildCacheService(ConcurrentMap<String,byte[]> delegate)
    Creates a new `MapBasedBuildCacheService`.
    Since:
      4.0

- ## Method Details

  - ### load

    public boolean load(BuildCacheKey key, BuildCacheEntryReader reader) throws BuildCacheException
    Description copied from interface: `BuildCacheService`
    Load the cached entry corresponding to the given cache key. The `reader` will be called if an entry is found in the cache.
    Specified by:
      `load` in interface `BuildCacheService`
    Parameters:
      `key` - the cache key.
      `reader` - the reader to read the data corresponding to the cache key.
    Returns:
      `true` if an entry was found, `false` otherwise.
    Throws:
      `BuildCacheException` - if the cache fails to load a cache entry for the given key

  - ### store

    public void store(BuildCacheKey key, BuildCacheEntryWriter output) throws BuildCacheException
    Description copied from interface: `BuildCacheService`
    Store the cache entry with the given cache key. The `writer` will be called to actually write the data.
    Specified by:
      `store` in interface `BuildCacheService`
    Parameters:
      `key` - the cache key.
      `output` - the writer to write the data corresponding to the cache key.
    Throws:
      `BuildCacheException` - if the cache fails to store a cache entry for the given key

  - ### close

    public void close() throws IOException
    Description copied from interface: `BuildCacheService`
    Clean up any resources held by the cache once it's not used anymore.
    Specified by:
      `close` in interface `AutoCloseable`
    Specified by:
      `close` in interface `BuildCacheService`
    Specified by:
      `close` in interface `Closeable`
    Throws:
      `IOException` - if the cache fails to close cleanly.