# Class MapBasedBuildCacheService

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

All Implemented Interfaces:
  `Closeable, AutoCloseable, BuildCacheService`

@Incubating 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)`

## 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)

## 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.