public interface CacheOperationSource
CacheInterceptor
が使用するインターフェース。実装は、構成から、ソースレベルのメタデータ属性から、他の場所から、キャッシュ操作属性をソースする方法を知っています。修飾子と型 | メソッドと説明 |
---|---|
CollectionSE<CacheOperation> | getCacheOperations(MethodSE method, ClassSE<?> targetClass) このメソッドのキャッシュ操作のコレクションを返します。メソッドにキャッシュ可能なアノテーションが含まれていない場合は null を返します。 |
default boolean | isCandidateClass(ClassSE<?> targetClass) 指定されたクラスが、この CacheOperationSource のメタデータ形式のキャッシュ操作の候補であるかどうかを判断します。 |
default boolean isCandidateClass(ClassSE<?> targetClass)
CacheOperationSource
のメタデータ形式のキャッシュ操作の候補であるかどうかを判断します。 このメソッドが false
を返す場合、指定されたクラスのメソッドは getCacheOperations(java.lang.reflect.Method, java.lang.Class<?>)
イントロスペクションのために走査されません。false
を返すことは、影響を受けないクラスの最適化です。一方、true
は、クラスが特定のクラスの各メソッドに対して個別に完全に内省する必要があることを意味します。
targetClass
- 内省するクラス false
(クラスがクラスまたはメソッドレベルでキャッシュ操作メタデータを持たないことがわかっている場合)。それ以外の場合は true
。デフォルトの実装は true
を返し、通常のイントロスペクションが行われます。@Nullable CollectionSE<CacheOperation> getCacheOperations(MethodSE method, @Nullable ClassSE<?> targetClass)
null
を返します。method
- 内省する方法 targetClass
- ターゲットクラス (null
の場合があります。この場合、メソッドの宣言クラスを使用する必要があります)null