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 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: