public abstract class AbstractFallbackCacheOperationSource extends ObjectSE implements CacheOperationSource
CacheOperation
の抽象的な実装: 1. 特定のターゲットメソッド。2. ターゲットクラス。3. メソッドの宣言 ; 4. クラス / インターフェースを宣言します。ターゲットメソッドに何も関連付けられていない場合は、デフォルトでターゲットクラスのキャッシュ属性が使用されます。ターゲットメソッドに関連付けられたキャッシュ属性は、クラスキャッシュ属性を完全にオーバーライドします。ターゲットクラスに何も見つからない場合、呼び出されたメソッドが呼び出されたインターフェース(JDK プロキシの場合)がチェックされます。
この実装は、属性が最初に使用された後、メソッドによって属性をキャッシュします。キャッシュ可能な属性を動的に変更できるようにすることが望ましい場合(これは非常にまれです)、キャッシュを構成可能にすることができます。
コンストラクターと説明 |
---|
AbstractFallbackCacheOperationSource() |
修飾子と型 | メソッドと説明 |
---|---|
protected boolean | allowPublicMethodsOnly() public メソッドのみにキャッシュセマンティクスを許可する必要がありますか? |
protected abstract CollectionSE<CacheOperation> | findCacheOperations(ClassSE<?> clazz) サブクラスは、指定されたクラスのキャッシング属性があれば、それを返すためにこれを実装する必要があります。 |
protected abstract CollectionSE<CacheOperation> | findCacheOperations(MethodSE method) サブクラスは、これを実装して、指定されたメソッドのキャッシュ属性を返す必要があります(存在する場合)。 |
protected ObjectSE | getCacheKey(MethodSE method, ClassSE<?> targetClass) 指定されたメソッドとターゲットクラスのキャッシュキーを決定します。 |
CollectionSE<CacheOperation> | getCacheOperations(MethodSE method, ClassSE<?> targetClass) このメソッド呼び出しのキャッシュ属性を決定します。 |
cloneSE, equalsSE, finalizeSE, getClassSE, hashCodeSE, notifySE, notifyAllSE, toStringSE, waitSE, waitSE, waitSE
protected final Log logger
この基本クラスは Serializable としてマークされていないため、具象サブクラスが Serializable である場合、直列化後にロガーが再作成されます。
@Nullable public CollectionSE<CacheOperation> getCacheOperations(MethodSE method, @Nullable ClassSE<?> targetClass)
メソッド属性が見つからない場合、デフォルトでクラスのキャッシング属性になります。
CacheOperationSource
の getCacheOperations
method
- 現在の呼び出しのメソッド (非 null
)targetClass
- この呼び出しのターゲットクラス (null
の場合があります)CacheOperation
、またはメソッドがキャッシュ可能でない場合は null
protected ObjectSE getCacheKey(MethodSE method, @Nullable ClassSE<?> targetClass)
オーバーロードされたメソッドに対して同じキーを生成してはなりません。同じメソッドの異なるインスタンスに対して同じキーを生成する必要があります。
method
- メソッド (非 null
)targetClass
- ターゲットクラス (null
の場合があります)null
)@Nullable protected abstract CollectionSE<CacheOperation> findCacheOperations(MethodSE method)
method
- 属性を取得するメソッド null
)@Nullable protected abstract CollectionSE<CacheOperation> findCacheOperations(ClassSE<?> clazz)
clazz
- 属性を取得するクラス null
)protected boolean allowPublicMethodsOnly()
デフォルトの実装は false
を返します。