javax.cache.annotation
Interface CacheMethodDetails<A extends Annotation>

Type Parameters:
A - The type of annotation this context information is for. One of CacheResult, CachePut, CacheRemoveEntry, or CacheRemoveAll.
All Known Subinterfaces:
CacheInvocationContext<A>, CacheKeyInvocationContext<A>

public interface 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.

Version:
$Revision$
Author:
Eric Dalquist
See Also:
CacheResolverFactory

Method Summary
 Set<Annotation> getAnnotations()
          An immutable Set of all Annotations on this method
 A getCacheAnnotation()
          The caching related annotation on the method.
 String getCacheName()
          The cache name resolved by the implementation.
 Method getMethod()
          The annotated method
 

Method Detail

getMethod

Method getMethod()
The annotated method

Returns:
The annotated method

getAnnotations

Set<Annotation> getAnnotations()
An immutable Set of all Annotations on this method

Returns:
An immutable Set of all Annotations on this method

getCacheAnnotation

A getCacheAnnotation()
The caching related annotation on the method. One of: CacheResult, CachePut, CacheRemoveEntry, or CacheRemoveAll

Returns:
The caching related annotation on the method.

getCacheName

String getCacheName()
The cache name resolved by the implementation.

The cache name is determined by first looking at the cacheName attribute of the method level annotation. If that attribute is not set then the class level CacheDefaults annotation is checked. If that annotation does not exist or does not have its cacheName attribute set then the following cache name generation rules are followed:

"fully qualified class name"."method name"("fully qualified parameter class names")

For example:

 package my.app;
 
 public class DomainDao {
   @CacheResult
   public Domain getDomain(String domainId, int index) {
     ...
   }
 }
 

Results in the cache name: "my.app.DomainDao.getDomain(java.lang.String,int)"

Returns:
The fully resolved cache name


Copyright © 2011. All Rights Reserved.