Default no-arg constructor that instantiates an internal name-to-cache {@code ConcurrentMap}.
Creates a new {@code Cache} instance associated with the specified {@code name}.
Cleanup method that first {@link LifecycleUtils#destroy destroys} all of it's managed caches and then {@link java.util.Map#clear clears} out the internally referenced cache map.
Returns the cache with the specified {@code name}. If the cache instance does not yet exist, it will be lazily created, retained for further access, and then returned.
Called when this object is being destroyed, allowing any necessary cleanup of internal resources.
Very simple abstract {@code CacheManager} implementation that retains all created {@link Cache Cache} instances in an in-memory {@link ConcurrentMap ConcurrentMap}. {@code Cache} instance creation is left to subclasses via the {@link #createCache createCache} method implementation.
@since 1.0