See: Description
Interface | Description |
---|---|
CacheInvocationContext<A extends Annotation> |
Runtime information about an intercepted method invocation for a method annotated
with
CacheResult , CachePut , CacheRemoveEntry , or CacheRemoveAll
Used with CacheResolver.resolveCache(CacheInvocationContext) to determine the Cache to use
at runtime for the method invocation. |
CacheInvocationParameter |
A parameter to an intercepted method invocation.
|
CacheKeyGenerator |
Generates a
GeneratedCacheKey based on a CacheKeyInvocationContext . |
CacheKeyInvocationContext<A extends Annotation> |
Runtime information about an intercepted method invocation for a method annotated
with
CacheResult , CachePut , or CacheRemoveEntry . |
CacheMethodDetails<A extends Annotation> |
Static information about a method annotated with one of:
CacheResult , CachePut , CacheRemoveEntry , or CacheRemoveAll
Used with CacheResolverFactory.getCacheResolver(CacheMethodDetails) to determine the CacheResolver to use
with the method. |
CacheResolver |
Determines the
Cache to use for an intercepted method invocation. |
CacheResolverFactory |
Determines the
CacheResolver to use for an annotated method. |
GeneratedCacheKey |
A
Serializable , immutable, thread-safe object that is used as a key,
that of which is automatically generated using a CacheKeyGenerator. |
Exception | Description |
---|---|
CacheAnnotationConfigurationException |
Thrown if an invalid cache annotation configuration is detected.
|
Annotation Type | Description |
---|---|
CacheDefaults |
Allows the configuration of defaults for
CacheResult , CachePut ,
CacheRemoveEntry , and CacheRemoveAll at the class level. |
CacheKey |
Marks a method argument as part of the cache key.
|
CachePut |
When a method annotated with
CachePut is invoked a GeneratedCacheKey will be generated and
Cache.put(Object, Object) will be invoked on the specified cache storing the value
marked with CacheValue . |
CacheRemoveAll |
When a method annotated with
CacheRemoveAll is invoked all elements in the specified cache
will be removed via the Cache.removeAll() method
The default behavior is to call Cache.removeAll() after the annotated method is invoked,
this behavior can be changed by setting CacheRemoveAll.afterInvocation() to false in which case Cache.removeAll()
will be called before the annotated method is invoked. |
CacheRemoveEntry |
When a method annotated with
CacheRemoveEntry is invoked a GeneratedCacheKey will be generated and
Cache.remove(Object) will be invoked on the specified cache. |
CacheResult |
When a method annotated with
CacheResult is invoked a GeneratedCacheKey will be generated and
Cache.get(Object) is called before the annotated method actually executes. |
CacheValue |
Marks the parameter to be cached for a method annotated with
CachePut . |
CacheResult
annotation, if the cache can satisfy the request a result is returned
by the method from cache, not from method execution. For the mutative annotations such as CacheResult
the annotation allows the cached value to be mutated so that it will be correct the next time CacheResult
is used.
Any operations against a cache via an annotation will have the same behaviour as if the CacheResult
methods were used. So
if the same underlying cache is used for an annotation and a direct API call, the same data would be returned. Annotations
therefore provide an additional API for interacting with caches.
In order to use these annotations, you'll need a library or framework which processes these annotations and intercepts calls
to your application objects to provide the caching behaviour. This would commonly be provided by a dependency injection framework
such as defined by CDI in Java EE.Copyright © 2013. All Rights Reserved.