public interface CacheManager extends Closeable
CacheManager provides a means of establishing, configuring,
 acquiring, closing and destroying uniquely named Caches.
 
 Caches produced and owned by a CacheManager typically share
 common infrastructure, for example, a common ClassLoader and
 implementation specific Properties.
 
 Implementations of CacheManager may additionally provide and share
 external resources between the Caches being managed, for example,
 the content of the managed Caches may be stored in the same cluster.
 
 By default CacheManager instances are typically acquired through the
 use of a CachingProvider.  Implementations however may additionally
 provide other mechanisms to create, acquire, manage and configure
 CacheManagers, including:
 
ServiceLoaders,new operator to create a
 concrete implementation, 
 The default CacheManager however can always be acquired using the
 default configured CachingProvider obtained by the Caching
 class.  For example:
 
 CachingProvider provider = Caching.getCachingProvider();
 CacheManager manager = provider.getCacheManager();
 
 Within a Java process CacheManagers and the Caches they
 manage are scoped and uniquely identified by a URI,  the meaning of
 which is implementation specific. To obtain the default URI,
 ClassLoader and Properties for an implementation, consult the
 CachingProvider class.
Caching, 
CachingProvider, 
Cache| Modifier and Type | Method and Description | 
|---|---|
| void | close()Closes the  CacheManager. | 
| <K,V,C extends Configuration<K,V>>  | createCache(String cacheName,
           C configuration)Creates a named  Cacheat runtime. | 
| void | destroyCache(String cacheName)Destroys a specifically named and managed  Cache. | 
| void | enableManagement(String cacheName,
                boolean enabled)Controls whether management is enabled. | 
| void | enableStatistics(String cacheName,
                boolean enabled)Enables or disables statistics gathering for a managed  Cacheat
 runtime. | 
| <K,V> Cache<K,V> | getCache(String cacheName)Looks up a managed  Cachegiven its name. | 
| <K,V> Cache<K,V> | getCache(String cacheName,
        Class<K> keyType,
        Class<V> valueType)Looks up a managed  Cachegiven its name. | 
| Iterable<String> | getCacheNames() | 
| CachingProvider | getCachingProvider()Get the  CachingProviderthat created and is responsible for
 theCacheManager. | 
| ClassLoader | getClassLoader()Get the  ClassLoaderused by theCacheManager. | 
| Properties | getProperties()Get the  Propertiesthat were used to create thisCacheManager. | 
| URI | getURI()Get the URI of the  CacheManager. | 
| boolean | isClosed()Determines whether the  CacheManagerinstance has been closed. | 
| <T> T | unwrap(Class<T> clazz)Provides a standard mechanism to access the underlying concrete caching
 implementation to provide access to further, proprietary features. | 
CachingProvider getCachingProvider()
CachingProvider that created and is responsible for
 the CacheManager.null if the CacheManager
         was created without using a CachingProviderURI getURI()
CacheManager.CacheManagerClassLoader getClassLoader()
ClassLoader used by the CacheManager.ClassLoader used by the CacheManagerProperties getProperties()
Properties that were used to create this
 CacheManager.
 
 Implementations are not required to re-configure the
 CacheManager should modifications to the returned
 Properties be made.
CacheManager<K,V,C extends Configuration<K,V>> Cache<K,V> createCache(String cacheName, C configuration) throws IllegalArgumentException
Cache at runtime.
 
 If a Cache with the specified name is known to the CacheManager, a CacheException is thrown.
 
 If a Cache with the specified name is unknown the CacheManager, one is created according to the provided Configuration
 after which it becomes managed by the CacheManager.
 
 Prior to a Cache being created, the provided Configurations is
 validated within the context of the CacheManager properties and
 implementation.
 
 Implementers should be aware that the Configuration may be used to
 configure other Caches.
 
 There's no requirement on the part of a developer to call this method for
 each Cache an application may use.  Implementations may support
 the use of declarative mechanisms to pre-configure Caches, thus
 removing the requirement to configure them in an application.  In such
 circumstances a developer may simply call either the
 getCache(String) or getCache(String, Class, Class)
 methods to acquire a previously established or pre-configured Cache.
cacheName - the name of the Cacheconfiguration - a Configuration for the CacheIllegalStateException - if the CacheManager
                                       isClosed()CacheException - if there was an error configuring the
                                       Cache, which includes trying
                                       to create a cache that already exists.IllegalArgumentException - if the configuration is invalidUnsupportedOperationException - if the configuration specifies
                                       an unsupported featureNullPointerException - if the cache configuration or name
                                       is nullSecurityException - when the operation could not be performed
                                       due to the current security settings<K,V> Cache<K,V> getCache(String cacheName, Class<K> keyType, Class<V> valueType)
Cache given its name.
 
 This method must be used for Caches that were configured with
 runtime key and value types. Use getCache(String) for
 Caches where these were not specified.
 
 Implementations must ensure that the key and value types are the same as
 those configured for the Cache prior to returning from this method.
 
 Implementations may further perform type checking on mutative cache operations
 and throw a ClassCastException if these checks fail.
 
 Implementations that support declarative mechanisms for pre-configuring
 Caches may return a pre-configured Cache instead of
 null.
cacheName - the name of the managed Cache to acquirekeyType - the expected Class of the keyvalueType - the expected Class of the valueIllegalStateException - if the CacheManager
                                  is isClosed()IllegalArgumentException - if the specified key and/or value types are
                                  incompatible with the configured cache.SecurityException - when the operation could not be performed
                                  due to the current security settings<K,V> Cache<K,V> getCache(String cacheName)
Cache given its name.
 
 This method may only be used to acquire Caches that were
 configured without runtime key and value types, or were configured
 to use Object.class key and value types.
 
 Use the getCache(String, Class, Class) method to acquire
 Caches that were configured with specific runtime types.
 
 Implementations must check if key and value types were configured
 for the requested Cache. If either the keyType or valueType of the
 configured Cache were specified (other than Object.class)
 an IllegalArgumentException will be thrown.
 
 Implementations that support declarative mechanisms for pre-configuring
 Caches may return a pre-configured Cache instead of
 null.
cacheName - the name of the cache to look forIllegalStateException - if the CacheManager is isClosed()IllegalArgumentException - if the Cache was configured with
                                  specific types, this method cannot be usedSecurityException - when the operation could not be performed
                                  due to the current security settingsgetCache(String, Class, Class)Iterable<String> getCacheNames()
Iterable over the names of Caches managed by the
 CacheManager.
 
 Iterators returned by the Iterable are immutable.
 Any modification of the Iterator, including remove, will
 raise an IllegalStateException.  If the Caches managed by
 the CacheManager change, the Iterable and
 associated Iterators are not affected.
 
 Iterators returned by the Iterable may not provide
 all of the Caches managed by the CacheManager.  For example:
 Internally defined or platform specific Caches that may be accessible
 by a call to getCache(String) or getCache(String, Class,
 Class) may not be present in an iteration.
Iterable over the names of managed Caches.IllegalStateException - if the CacheManager
                               is isClosed()SecurityException - when the operation could not be performed
                               due to the current security settingsvoid destroyCache(String cacheName)
Cache.  Once destroyed
 a new Cache of the same name but with a different Configuration may be configured.
 This is equivalent to the following sequence of method calls:
followed by allowing the name of theCache to be used for other
 Cache configurations.
 
 From the time this method is called, the specified Cache is not
 available for operational use. An attempt to call an operational method on
 the Cache will throw an IllegalStateException.
cacheName - the cache to destroyIllegalStateException - if the CacheManager
                               isClosed()NullPointerException - if cacheName is nullSecurityException - when the operation could not be performed
                               due to the current security settingsvoid enableManagement(String cacheName, boolean enabled)
CacheMXBean
 for each cache is registered in the platform MBean server. The platform
 MBeanServer is obtained using
 ManagementFactory.getPlatformMBeanServer().
 Management information includes the name and configuration information for the cache.
Each cache's management object must be registered with an ObjectName that is unique and has the following type and attributes:
 Type:
 javax.cache:type=Cache
 
Required Attributes:
cacheName - the name of the cache to registerenabled - true to enable management, false to disable.IllegalStateException - if the CacheManager or
                               Cache isClosed()SecurityException - when the operation could not be performed
                               due to the current security settingsvoid enableStatistics(String cacheName, boolean enabled)
Cache at
 runtime.
 Each cache's statistics object must be registered with an ObjectName that is unique and has the following type and attributes:
 Type:
 javax.cache:type=CacheStatistics
 
Required Attributes:
cacheName - the name of the cache to registerenabled - true to enable statistics, false to disable.IllegalStateException - if the CacheManager or
                               Cache isClosed()NullPointerException - if cacheName is nullSecurityException - when the operation could not be performed
                           due to the current security settingsvoid close()
CacheManager.
 
 For each Cache managed by the CacheManager, the
 Cache.close() method will be invoked, in no guaranteed order.
 
 If a Cache.close() call throws an exception, the exception will be
 ignored.
 
 After executing this method, the isClosed() method will return
 true.
 
 All attempts to close a previously closed CacheManager will be
 ignored.
close in interface AutoCloseableclose in interface CloseableSecurityException - when the operation could not be performed due to the
         current security settingsboolean isClosed()
CacheManager instance has been closed. A
 CacheManager is considered closed if;
 close() method has been calledgetCachingProvider() has been closed, orCacheManager has been closed using the associated
 getCachingProvider()
 This method generally cannot be called to determine whether the
 CacheManager is valid or invalid. A typical client can determine
 that a CacheManager is invalid by catching any exceptions that
 might be thrown when an operation is attempted.
CacheManager instance is closed; false if it
         is still open<T> T unwrap(Class<T> clazz)
 If the provider's implementation does not support the specified class,
 the IllegalArgumentException is thrown.
clazz - the proprietary class or interface of the underlying concrete
              CacheManager. It is this type that is returned.CacheManagerIllegalArgumentException - if the caching provider doesn't support the
                                  specified class.SecurityException - when the operation could not be performed
                                  due to the current security settingsCopyright © 2014. All Rights Reserved.