public interface CachingProvider extends Closeable
CacheManagers, identified by URIs and scoped by
ClassLoaders.
The meaning and semantics of the URI used to identify a
CacheManager is implementation dependent. For applications to remain
implementation independent, they should avoid attempting to create URIs
and instead use those returned by getDefaultURI().
| Modifier and Type | Method and Description |
|---|---|
void |
close()
Closes all of the
CacheManager instances and associated resources
created and maintained by the CachingProvider across all
ClassLoaders. |
void |
close(ClassLoader classLoader)
Closes all
CacheManager instances and associated resources created
by the CachingProvider using the specified ClassLoader. |
void |
close(URI uri,
ClassLoader classLoader)
Closes all
CacheManager instances and associated resources created
by the CachingProvider for the specified URI and
ClassLoader. |
CacheManager |
getCacheManager()
Requests a
CacheManager configured according to the
getDefaultURI() and getDefaultProperties() be made
available that using the getDefaultClassLoader() for loading
underlying classes. |
CacheManager |
getCacheManager(URI uri,
ClassLoader classLoader)
Requests a
CacheManager configured according to the implementation
specific URI that uses the provided ClassLoader for loading
underlying classes. |
CacheManager |
getCacheManager(URI uri,
ClassLoader classLoader,
Properties properties)
Requests a
CacheManager configured according to the implementation
specific URI be made available that uses the provided
ClassLoader for loading underlying classes. |
ClassLoader |
getDefaultClassLoader()
Obtains the default
ClassLoader that will be used by the
CachingProvider. |
Properties |
getDefaultProperties()
Obtains the default
Properties for the CachingProvider. |
URI |
getDefaultURI()
Obtains the default
URI for the CachingProvider. |
boolean |
isSupported(OptionalFeature optionalFeature)
Determines whether an optional feature is supported by the
CachingProvider. |
CacheManager getCacheManager(URI uri, ClassLoader classLoader, Properties properties)
CacheManager configured according to the implementation
specific URI be made available that uses the provided
ClassLoader for loading underlying classes.
Multiple calls to this method with the same URI and
ClassLoader must return the same CacheManager instance,
except if a previously returned CacheManager has been closed.
Properties are used in construction of a CacheManager and do not form
part of the identity of the CacheManager. i.e. if a second call is made to
with the same URI and ClassLoader but different properties,
the CacheManager created in the first call is returned.
Properties names follow the same scheme as package names.
The prefixes java and javax are reserved.
Properties are passed through and can be retrieved via
CacheManager.getProperties().
Properties within the package scope of a caching implementation may be used for
additional configuration.
uri - an implementation specific URI for the
CacheManager (null means use
getDefaultURI())classLoader - the ClassLoader to use for the
CacheManager (null means use
getDefaultClassLoader())properties - the Properties for the CachingProvider
to create the CacheManager (null means no
implementation specific Properties are required)CacheException - when a CacheManager for the
specified arguments could not be producedSecurityException - when the operation could not be performed
due to the current security settingsClassLoader getDefaultClassLoader()
ClassLoader that will be used by the
CachingProvider.ClassLoader used by the CachingProviderURI getDefaultURI()
URI for the CachingProvider.
Use this method to obtain a suitable URI for the
CachingProvider.
URI for the CachingProviderProperties getDefaultProperties()
Properties for the CachingProvider.
Use this method to obtain suitable Properties for the
CachingProvider.
Properties for the CachingProviderCacheManager getCacheManager(URI uri, ClassLoader classLoader)
CacheManager configured according to the implementation
specific URI that uses the provided ClassLoader for loading
underlying classes.
Multiple calls to this method with the same URI and
ClassLoader must return the same CacheManager instance,
except if a previously returned CacheManager has been closed.
uri - an implementation specific URI for the
CacheManager (null means
use getDefaultURI())classLoader - the ClassLoader to use for the
CacheManager (null means
use getDefaultClassLoader())CacheException - when a CacheManager for the
specified arguments could not be producedSecurityException - when the operation could not be performed
due to the current security settingsCacheManager getCacheManager()
CacheManager configured according to the
getDefaultURI() and getDefaultProperties() be made
available that using the getDefaultClassLoader() for loading
underlying classes.
Multiple calls to this method must return the same CacheManager
instance, except if a previously returned CacheManager has been
closed.
SecurityException - when the operation could not be performed
due to the current security settingsvoid close()
CacheManager instances and associated resources
created and maintained by the CachingProvider across all
ClassLoaders.
After closing the CachingProvider will still be operational. It
may still be used for acquiring CacheManager instances, though
those will now be new.
close in interface AutoCloseableclose in interface CloseableSecurityException - when the operation could not be performed
due to the current security settingsvoid close(ClassLoader classLoader)
CacheManager instances and associated resources created
by the CachingProvider using the specified ClassLoader.
After closing the CachingProvider will still be operational. It
may still be used for acquiring CacheManager instances, though
those will now be new for the specified ClassLoader .
classLoader - the ClassLoader to releaseSecurityException - when the operation could not be performed
due to the current security settingsvoid close(URI uri, ClassLoader classLoader)
CacheManager instances and associated resources created
by the CachingProvider for the specified URI and
ClassLoader.uri - the URI to releaseclassLoader - the ClassLoader to releaseSecurityException - when the operation could not be performed
due to the current security settingsboolean isSupported(OptionalFeature optionalFeature)
CachingProvider.optionalFeature - the feature to check forCopyright © 2019. All rights reserved.