public class GuavaCacheManager extends ObjectSE implements CacheManager
getCache(java.lang.String) リクエストごとに GuavaCache インスタンスを遅延ビルドする CacheManager 実装。また、キャッシュ名のセットが setCacheNames(java.util.Collection<java.lang.String>) を介して事前に定義されている「静的」モードもサポートしています。実行時に追加のキャッシュ領域を動的に作成することはありません。 基礎となるキャッシュの構成は、Guava CacheBuilder または CacheBuilderSpec を介して微調整でき、setCacheBuilder(com.google.common.cache.CacheBuilder<java.lang.Object, java.lang.Object>)/setCacheBuilderSpec(com.google.common.cache.CacheBuilderSpec) を介してこの CacheManager に渡されます。CacheBuilderSpec -compliant 式の値は、"cacheSpecification" Bean プロパティを介して適用することもできます。
Google Guava 12.0 以上が必要です。
GuavaCache| コンストラクターと説明 |
|---|
GuavaCacheManager() 動的な GuavaCacheManager を構築し、リクエストされているキャッシュインスタンスを遅延作成します。 |
GuavaCacheManager(StringSE... cacheNames) 静的 GuavaCacheManager を構築し、指定されたキャッシュ名のみのキャッシュを管理します。 |
| 修飾子と型 | メソッドと説明 |
|---|---|
protected Cache | createGuavaCache(StringSE name) 指定されたキャッシュ名の新しい GuavaCache インスタンスを作成します。 |
protected com.google.common.cache.Cache<ObjectSE, ObjectSE> | createNativeGuavaCache(StringSE name) 指定されたキャッシュ名のネイティブ Guava キャッシュインスタンスを作成します。 |
Cache | getCache(StringSE name) 指定された名前に関連付けられたキャッシュを返します。 |
CollectionSE<StringSE> | getCacheNames() このマネージャーが知っているキャッシュ名のコレクションを返します。 |
boolean | isAllowNullValues() このキャッシュマネージャーが、すべてのキャッシュの null 値を受け入れて変換するかどうかを返します。 |
void | setAllowNullValues(boolean allowNullValues) このキャッシュマネージャーのすべてのキャッシュの null 値を受け入れて変換するかどうかを指定します。 |
void | setCacheBuilder(com.google.common.cache.CacheBuilder<ObjectSE, ObjectSE> cacheBuilder) 個々の GuavaCache インスタンスの構築に使用する Guava CacheBuilder を設定します。 |
void | setCacheBuilderSpec(com.google.common.cache.CacheBuilderSpec cacheBuilderSpec) 個々の GuavaCache インスタンスの構築に使用する Guava CacheBuilderSpec を設定します。 |
void | setCacheLoader(com.google.common.cache.CacheLoader<ObjectSE, ObjectSE> cacheLoader)Guava CacheLoader を設定して、個々の GuavaCache インスタンスを作成し、LoadingCache に変換します。 |
void | setCacheNames(CollectionSE<StringSE> cacheNames) この CacheManager の「静的」モードのキャッシュ名のセットを指定します。 |
void | setCacheSpecification(StringSE cacheSpecification) 個々の GuavaCache インスタンスを構築するために使用する Guava キャッシュ仕様文字列を設定します。 |
cloneSE, equalsSE, finalizeSE, getClassSE, hashCodeSE, notifySE, notifyAllSE, toStringSE, waitSE, waitSE, waitSEpublic GuavaCacheManager()
public GuavaCacheManager(StringSE... cacheNames)
public void setCacheNames(CollectionSE<StringSE> cacheNames)
キャッシュの数とその名前は、このメソッドの呼び出し後に修正され、実行時にさらにキャッシュ領域が作成されることはありません。
null コレクション引数でこれを呼び出すと、モードが「動的」にリセットされ、キャッシュをさらに作成できるようになります。
public void setCacheBuilder(com.google.common.cache.CacheBuilder<ObjectSE,ObjectSE> cacheBuilder)
GuavaCache インスタンスの構築に使用する Guava CacheBuilder を設定します。createNativeGuavaCache(java.lang.String), CacheBuilder.build()public void setCacheBuilderSpec(com.google.common.cache.CacheBuilderSpec cacheBuilderSpec)
GuavaCache インスタンスの構築に使用する Guava CacheBuilderSpec を設定します。createNativeGuavaCache(java.lang.String), CacheBuilder.from(CacheBuilderSpec)public void setCacheSpecification(StringSE cacheSpecification)
GuavaCache インスタンスを構築するために使用する Guava キャッシュ仕様文字列を設定します。指定された値は、Guava の CacheBuilderSpec に準拠する必要があります(javadoc を参照)。createNativeGuavaCache(java.lang.String), CacheBuilder.from(String)public void setCacheLoader(com.google.common.cache.CacheLoader<ObjectSE,ObjectSE> cacheLoader)
GuavaCache インスタンスを作成し、LoadingCache に変換します。createNativeGuavaCache(java.lang.String), CacheBuilder.build(CacheLoader), LoadingCachepublic void setAllowNullValues(boolean allowNullValues)
null 値を受け入れて変換するかどうかを指定します。Guava 自体が null 値をサポートしていないにもかかわらず、デフォルトは "true" です。内部ホルダーオブジェクトは、ユーザーレベルの null を格納するために使用されます。
public boolean isAllowNullValues()
null 値を受け入れて変換するかどうかを返します。public CollectionSE<StringSE> getCacheNames()
CacheManagerCacheManager の getCacheNames public Cache getCache(StringSE name)
CacheManagerCacheManager の getCache name - キャッシュ識別子 (null であってはなりません)null protected Cache createGuavaCache(StringSE name)
name - キャッシュの名前