public interface CacheAnnotationParser
AnnotationCacheOperationSource
は、Spring 独自の Cacheable
、CachePut
、CacheEvict
などの特定のアノテーション型をサポートするためのパーサーに委譲します。AnnotationCacheOperationSource
, SpringCacheAnnotationParser
修飾子と型 | メソッドと説明 |
---|---|
default boolean | isCandidateClass(ClassSE<?> targetClass) 指定されたクラスが、この CacheAnnotationParser のアノテーション形式のキャッシュ操作の候補であるかどうかを判別します。 |
CollectionSE<CacheOperation> | parseCacheAnnotations(ClassSE<?> type) このパーサーが理解できるアノテーション型に基づいて、指定されたクラスのキャッシュ定義を解析します。 |
CollectionSE<CacheOperation> | parseCacheAnnotations(MethodSE method) このパーサーが理解するアノテーション型に基づいて、指定されたメソッドのキャッシュ定義を解析します。 |
default boolean isCandidateClass(ClassSE<?> targetClass)
CacheAnnotationParser
のアノテーション形式のキャッシュ操作の候補であるかどうかを判別します。 このメソッドが false
を返す場合、指定されたクラスのメソッドは #parseCacheAnnotations
イントロスペクションのためにトラバースされません。false
を返すことは影響を受けないクラスの最適化ですが、true
は単に、クラスが特定のクラスの各メソッドに対して個別に完全にイントロスペクトされる必要があることを意味します。
targetClass
- イントロスペクトするクラス false
(クラスにクラスまたはメソッドレベルでキャッシュ操作のアノテーションがないことがわかっている場合)。それ以外の場合は true
。デフォルトの実装は true
を返し、通常のイントロスペクションが行われます。@Nullable CollectionSE<CacheOperation> parseCacheAnnotations(ClassSE<?> type)
これは基本的に、既知のキャッシュアノテーションを Spring のメタデータ属性クラスに解析します。クラスがキャッシュ可能でない場合は null
を返します。
type
- アノテーション付きクラス null
AnnotationCacheOperationSource.findCacheOperations(Class)
@Nullable CollectionSE<CacheOperation> parseCacheAnnotations(MethodSE method)
これは基本的に、既知のキャッシュアノテーションを Spring のメタデータ属性クラスに解析します。メソッドがキャッシュ可能でない場合、null
を返します。
method
- アノテーション付きメソッド null
AnnotationCacheOperationSource.findCacheOperations(Method)