public final class Caching extends Object
Caching class provides a convenient means for an application to
 acquire an appropriate CachingProvider implementation.
 
 While defined as part of the specification, its use is not required.
 Applications and/or containers may instead choose to directly instantiate a
 CachingProvider implementation based on implementation specific
 instructions.
 
 When using the Caching class, CachingProvider implementations
 are automatically discovered when they follow the conventions outlined by the
 Java Development Kit ServiceLoader class.
 
 Although automatically discovered, applications that choose to use this class
 should not make assumptions regarding the order in which implementations are
 returned by the getCachingProviders() or
 getCachingProviders(ClassLoader) methods.
 
 For a CachingProvider to be automatically discoverable by the
 Caching class, the fully qualified class name of the
 CachingProvider implementation must be declared in the following
 file:
 
META-INF/services/javax.cache.spi.CachingProviderThis file must be resolvable via the class path.
 For example, in the reference implementation the contents of this file are:
 org.jsr107.ri.RICachingProvider
 
 Alternatively when the fully qualified class name of a
 CachingProvider implementation is specified using the system property
 javax.cache.spi.cachingprovider, that implementation will be used
 as the default CachingProvider.
 
 All CachingProviders that are automatically detected or explicitly
 declared and loaded by the Caching class are maintained in an
 internal registry.  Consequently when a previously loaded
 CachingProvider is requested, it will be simply returned from the
 internal registry, without reloading and/or instantiating the said
 implementation again.
 
 As required by some applications and containers, multiple co-existing
 CachingProviders implementations, from the same or different
 implementors are permitted at runtime.
 
To iterate through those that are currently registered a developer may use the following methods:
To request a specificCachingProvider implementation, a developer
 should use either the getCachingProvider(String) or
 getCachingProvider(String, ClassLoader) method.
 
 Where multiple CachingProviders are present, the
 CachingProvider returned by getters getCachingProvider() and
 getCachingProvider(ClassLoader) is undefined and as a result a
 CacheException will be thrown when attempted.
ServiceLoader, 
CachingProvider| Modifier and Type | Field and Description | 
|---|---|
| static String | JAVAX_CACHE_CACHING_PROVIDERThe  javax.cache.spi.cachingproviderconstant. | 
| Modifier and Type | Method and Description | 
|---|---|
| static <K,V> Cache<K,V> | getCache(String cacheName,
        Class<K> keyType,
        Class<V> valueType)A convenience that method that looks up a managed  Cachegiven its
 name. | 
| static CachingProvider | getCachingProvider()Obtains the default  CachingProvideravailable via thegetDefaultClassLoader(). | 
| static CachingProvider | getCachingProvider(ClassLoader classLoader)Obtains the single  CachingProvidervisible to the specifiedClassLoader. | 
| static CachingProvider | getCachingProvider(String fullyQualifiedClassName)Obtain the  CachingProviderthat is implemented by the specified
 fully qualified class name using thegetDefaultClassLoader(). | 
| static CachingProvider | getCachingProvider(String fullyQualifiedClassName,
                  ClassLoader classLoader)Obtain the  CachingProviderthat is implemented by the specified
 fully qualified class name using the providedClassLoader. | 
| static Iterable<CachingProvider> | getCachingProviders()Obtains the  CachingProviders that are available via thegetDefaultClassLoader(). | 
| static Iterable<CachingProvider> | getCachingProviders(ClassLoader classLoader)Obtains the  CachingProviders that are available via the specifiedClassLoader. | 
| static ClassLoader | getDefaultClassLoader()Obtains the  ClassLoaderto use for API methods that don't
 explicitly require aClassLoaderbut internally require one. | 
| static void | setDefaultClassLoader(ClassLoader classLoader)Set the  ClassLoaderto use for API methods that don't explicitly
 require aClassLoader, but internally use one. | 
public static final String JAVAX_CACHE_CACHING_PROVIDER
javax.cache.spi.cachingprovider constant.public static ClassLoader getDefaultClassLoader()
ClassLoader to use for API methods that don't
 explicitly require a ClassLoader but internally require one.
 
 By default this is the Thread.getContextClassLoader().
ClassLoaderpublic static void setDefaultClassLoader(ClassLoader classLoader)
ClassLoader to use for API methods that don't explicitly
 require a ClassLoader, but internally use one.classLoader - the ClassLoader or null if the
                    calling Thread.getContextClassLoader() should
                    be usedpublic static CachingProvider getCachingProvider()
CachingProvider available via the
 getDefaultClassLoader().CachingProviderCacheException - should zero, or more than one
                           CachingProvider be available on the
                           classpath, or it could not be loadedSecurityException - when the operation could not be performed
                           due to the current security settingspublic static CachingProvider getCachingProvider(ClassLoader classLoader)
CachingProvider visible to the specified
 ClassLoader.classLoader - the ClassLoader to use for loading the
                    CachingProviderCachingProviderCacheException - should zero, or more than one
                           CachingProvider be available on the
                           classpath, or it could not be loadedSecurityException - when the operation could not be performed
                           due to the current security settingsgetCachingProviders(ClassLoader)public static Iterable<CachingProvider> getCachingProviders()
CachingProviders that are available via the
 getDefaultClassLoader().
 
 If a javax.cache.spi.cachingprovider system property is defined,
 only that CachingProvider specified by that property is returned.
 Otherwise all CachingProviders that are available via a
 ServiceLoader for CachingProviders using the default
 ClassLoader (including those previously requested via
 getCachingProvider(String)) are returned.
Iterable of CachingProviders loaded by the
         specified ClassLoaderpublic static Iterable<CachingProvider> getCachingProviders(ClassLoader classLoader)
CachingProviders that are available via the specified
 ClassLoader.
 
 If a javax.cache.spi.cachingprovider system property is defined,
 only that CachingProvider specified by that property is returned.
 Otherwise all CachingProviders that are available via a
 ServiceLoader for CachingProviders using the specified
 ClassLoader (including those previously requested via
 getCachingProvider(String, ClassLoader)) are returned.
classLoader - the ClassLoader of the returned
                    CachingProvidersIterable of CachingProviders loaded by the
         specified ClassLoaderpublic static CachingProvider getCachingProvider(String fullyQualifiedClassName)
CachingProvider that is implemented by the specified
 fully qualified class name using the getDefaultClassLoader().
 Should this CachingProvider already be loaded it is simply returned,
 otherwise an attempt will be made to load and instantiate the specified
 class (using a no-args constructor).fullyQualifiedClassName - the fully qualified class name of the
                                CachingProviderCachingProviderCacheException - if the CachingProvider cannot be createdSecurityException - when the operation could not be performed
                           due to the current security settingspublic static CachingProvider getCachingProvider(String fullyQualifiedClassName, ClassLoader classLoader)
CachingProvider that is implemented by the specified
 fully qualified class name using the provided ClassLoader.
 Should this CachingProvider already be loaded it is returned,
 otherwise an attempt will be made to load and instantiate the specified
 class (using a no-args constructor).fullyQualifiedClassName - the fully qualified class name of the
                                CachingProviderclassLoader - the ClassLoader to load the
                                CachingProviderCachingProviderCacheException - if the CachingProvider cannot be createdSecurityException - when the operation could not be performed
                           due to the current security settingspublic static <K,V> Cache<K,V> getCache(String cacheName, Class<K> keyType, Class<V> valueType)
Cache given its
 name. using the default CachingProvider and CacheManager
 . For the full range of Cache look up methods see
 CacheManager.
 
 This method must be used for Caches that were configured with
 runtime key and value types. Use CacheManager.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
                                  CacheManager.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 settingsCacheManager.getCache(String, Class, Class), 
CacheManager.getCache(String)Copyright © 2014. All Rights Reserved.