AutoCloseable
, Closeable
public interface CachingProvider extends Closeable
CacheManager
s, identified by URI
s and scoped by
ClassLoader
s.
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 URI
s
and instead use those returned by getDefaultURI()
.
Modifier and Type | Method | Description |
---|---|---|
void |
close() |
Closes all of the
CacheManager instances and associated resources
created and maintained by the CachingProvider across all
ClassLoader s. |
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 CachingProvider
URI getDefaultURI()
URI
for the CachingProvider
.
Use this method to obtain a suitable URI
for the
CachingProvider
.
URI
for the CachingProvider
Properties getDefaultProperties()
Properties
for the CachingProvider
.
Use this method to obtain suitable Properties
for the
CachingProvider
.
Properties
for the CachingProvider
CacheManager 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
ClassLoader
s.
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 AutoCloseable
close
in interface Closeable
SecurityException
- 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 © 2017. All rights reserved.