public abstract class AbstractValueAdaptingCache extends ObjectSE implements Cache
null 値(および場合によっては他のそのような特別な値)を適応させる必要がある Cache 実装の共通基本クラス。null 値をサポートするように構成されている場合(isAllowNullValues() で示されるように)、指定された null ユーザー値を内部 NullValue.INSTANCE で透過的に置き換えます。
Cache.ValueRetrievalException, Cache.ValueWrapper| 修飾子 | コンストラクターと説明 |
|---|---|
protected | AbstractValueAdaptingCache(boolean allowNullValues) 指定された設定で AbstractValueAdaptingCache を作成します。 |
| 修飾子と型 | メソッドと説明 |
|---|---|
protected ObjectSE | fromStoreValue(ObjectSE storeValue) 指定された値を内部ストアから get メソッドから返されたユーザー値に変換します( null を適応)。 |
Cache.ValueWrapper | get(ObjectSE key) このキャッシュが指定されたキーをマップする値を返します。 |
<T> T | get(ObjectSE key, ClassSE<T> type) このキャッシュが指定されたキーをマップする値を返します。一般的に、戻り値がキャストされる型を指定します。 |
boolean | isAllowNullValues() このキャッシュで null 値が許可されているかどうかを返します。 |
protected abstract ObjectSE | lookup(ObjectSE key) 基になるストアで実際のルックアップを実行します。 |
protected ObjectSE | toStoreValue(ObjectSE userValue)put メソッドに渡された指定のユーザー値を内部ストアの値に変換します( null を適応)。 |
protected Cache.ValueWrapper | toValueWrapper(ObjectSE storeValue) 指定されたストア値を SimpleValueWrapper でラップします。これも fromStoreValue(java.lang.Object) 変換を行います。 |
cloneSE, equalsSE, finalizeSE, getClassSE, hashCodeSE, notifySE, notifyAllSE, toStringSE, waitSE, waitSE, waitSEclear, evict, evictIfPresent, get, getName, getNativeCache, invalidate, put, putIfAbsentprotected AbstractValueAdaptingCache(boolean allowNullValues)
AbstractValueAdaptingCache を作成します。allowNullValues - null 値を許可するかどうか public final boolean isAllowNullValues()
null 値が許可されているかどうかを返します。@Nullable public Cache.ValueWrapper get(ObjectSE key)
Cache キャッシュにこのキーのマッピングが含まれていない場合は、null を返します。そうでない場合、キャッシュされた値(null 自体である可能性があります)が Cache.ValueWrapper で返されます。
Cache の get key - 関連する値が返されるキー Cache.ValueWrapper 内に含まれ、キャッシュされた null 値も保持する場合があります。返されるストレート null は、キャッシュにこのキーのマッピングが含まれていないことを意味します。Cache.get(Object, Class), Cache.get(Object, Callable)@Nullable public <T> T get(ObjectSE key, @Nullable ClassSE<T> type)
Cache メモ: この get のバリアントでは、キャッシュされた null 値とキャッシュエントリがまったく見つからないことを区別できません。代わりに、その目的のために標準の Cache.get(Object) バリアントを使用してください。
Cache の get key - 関連する値が返されるキー type - 戻り値の必要な型 (型チェックをバイパスする null の場合があります。キャッシュで null 値が見つかった場合、指定された型は無関係です)null 自体である場合があります)をマップする値、またはキャッシュにこのキーのマッピングが含まれていない場合は null Cache.get(Object)@Nullable protected abstract ObjectSE lookup(ObjectSE key)
key - 関連する値が返されるキー null @Nullable protected ObjectSE fromStoreValue(@Nullable ObjectSE storeValue)
null を適応)。storeValue - ストアの値 protected ObjectSE toStoreValue(@Nullable ObjectSE userValue)
null を適応)。userValue - 指定されたユーザー値 @Nullable protected Cache.ValueWrapper toValueWrapper(@Nullable ObjectSE storeValue)
SimpleValueWrapper でラップします。これも fromStoreValue(java.lang.Object) 変換を行います。get(Object) および Cache.putIfAbsent(Object, Object) の実装に役立ちます。storeValue - 元の値