Interface CacheInvocationContext<A extends Annotation>

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

public interface CacheInvocationContext<A extends Annotation> extends CacheMethodDetails<A>
Runtime information about an intercepted method invocation for a method annotated with CacheResult, CachePut, CacheRemove, or CacheRemoveAll

Used with CacheResolver.resolveCache(CacheInvocationContext) to determine the Cache to use at runtime for the method invocation.

See Also:
  • Method Details

    • getTarget

      Object getTarget()
      Returns:
      The object the intercepted method was invoked on.
    • getAllParameters

      CacheInvocationParameter[] getAllParameters()
      Returns a clone of the array of all method parameters.
      Returns:
      An array of all parameters for the annotated method
    • unwrap

      <T> T unwrap(Class<T> cls)
      Return an object of the specified type to allow access to the provider-specific API. If the provider's implementation does not support the specified class, the IllegalArgumentException is thrown.
      Type Parameters:
      T - The type of the expected underlying Cache implementation.
      Parameters:
      cls - the class of the object to be returned. This is normally either the underlying implementation class or an interface that it implements.
      Returns:
      an instance of the specified class
      Throws:
      IllegalArgumentException - if the provider doesn't support the specified class.