Interface CacheAnnotationParser

All Known Implementing Classes:
SpringCacheAnnotationParser

public interface CacheAnnotationParser
Strategy interface for parsing known caching annotation types. AnnotationCacheOperationSource delegates to such parsers for supporting specific annotation types such as Spring's own Cacheable, CachePut andCacheEvict.
Since:
3.1
Author:
Costin Leau, Stephane Nicoll, Juergen Hoeller
See Also:
  • Method Summary

    Modifier and Type
    Method
    Description
    default boolean
    isCandidateClass(Class<?> targetClass)
    Determine whether the given class is a candidate for cache operations in the annotation format of this CacheAnnotationParser.
    Parse the cache definition for the given class, based on an annotation type understood by this parser.
    Parse the cache definition for the given method, based on an annotation type understood by this parser.
  • Method Details

    • isCandidateClass

      default boolean isCandidateClass(Class<?> targetClass)
      Determine whether the given class is a candidate for cache operations in the annotation format of this CacheAnnotationParser.

      If this method returns false, the methods on the given class will not get traversed for #parseCacheAnnotations introspection. Returning false is therefore an optimization for non-affected classes, whereas true simply means that the class needs to get fully introspected for each method on the given class individually.

      Parameters:
      targetClass - the class to introspect
      Returns:
      false if the class is known to have no cache operation annotations at class or method level; true otherwise. The default implementation returns true, leading to regular introspection.
      Since:
      5.2
    • parseCacheAnnotations

      @Nullable Collection<CacheOperation> parseCacheAnnotations(Class<?> type)
      Parse the cache definition for the given class, based on an annotation type understood by this parser.

      This essentially parses a known cache annotation into Spring's metadata attribute class. Returns null if the class is not cacheable.

      Parameters:
      type - the annotated class
      Returns:
      the configured caching operation, or null if none found
      See Also:
    • parseCacheAnnotations

      @Nullable Collection<CacheOperation> parseCacheAnnotations(Method method)
      Parse the cache definition for the given method, based on an annotation type understood by this parser.

      This essentially parses a known cache annotation into Spring's metadata attribute class. Returns null if the method is not cacheable.

      Parameters:
      method - the annotated method
      Returns:
      the configured caching operation, or null if none found
      See Also: