K
- the key typeV
- the value typepublic class CacheConfig<K,V> extends Object
ICache
Modifier and Type | Field and Description |
---|---|
protected javax.cache.configuration.Factory<javax.cache.integration.CacheLoader<K,V>> |
cacheLoaderFactory
The
Factory for the CacheLoader . |
protected javax.cache.configuration.Factory<javax.cache.integration.CacheWriter<? super K,? super V>> |
cacheWriterFactory
The
Factory for the CacheWriter . |
protected javax.cache.configuration.Factory<javax.cache.expiry.ExpiryPolicy> |
expiryPolicyFactory
The
Factory for the ExpiryPolicy . |
protected boolean |
isManagementEnabled
Whether management is enabled
|
protected boolean |
isReadThrough
A flag indicating if "read-through" mode is required.
|
protected boolean |
isStatisticsEnabled
A flag indicating if statistics gathering is enabled.
|
protected boolean |
isStoreByValue
A flag indicating if the cache will be store-by-value or store-by-reference.
|
protected boolean |
isWriteThrough
A flag indicating if "write-through" mode is required.
|
protected Class<K> |
keyType
The type of keys for
Cache s configured with this
Configuration . |
protected Set<javax.cache.configuration.CacheEntryListenerConfiguration<K,V>> |
listenerConfigurations
The
CacheEntryListenerConfiguration s for the Configuration . |
protected Class<V> |
valueType
The type of values for
Cache s configured with this
Configuration . |
Constructor and Description |
---|
CacheConfig() |
CacheConfig(CacheSimpleConfig simpleConfig) |
CacheConfig(javax.cache.configuration.CompleteConfiguration<K,V> configuration) |
Modifier and Type | Method and Description |
---|---|
CacheConfiguration<K,V> |
addCacheEntryListenerConfiguration(javax.cache.configuration.CacheEntryListenerConfiguration<K,V> cacheEntryListenerConfiguration)
Add a configuration for a
CacheEntryListener . |
protected Set<javax.cache.configuration.CacheEntryListenerConfiguration<K,V>> |
createConcurrentSet() |
boolean |
equals(Object o) |
CacheConfigReadOnly<K,V> |
getAsReadOnly()
Gets immutable version of this config.
|
int |
getAsyncBackupCount()
Gets the number of asynchronous backups of the cache config.
|
int |
getBackupCount()
Gets the number of synchronous backups of the cache config.
|
Iterable<javax.cache.configuration.CacheEntryListenerConfiguration<K,V>> |
getCacheEntryListenerConfigurations() |
javax.cache.configuration.Factory<javax.cache.integration.CacheLoader<K,V>> |
getCacheLoaderFactory() |
javax.cache.configuration.Factory<javax.cache.integration.CacheWriter<? super K,? super V>> |
getCacheWriterFactory() |
CacheEvictionConfig |
getEvictionConfig()
Gets the
CacheEvictionConfig instance for eviction configuration of the cache config. |
javax.cache.configuration.Factory<javax.cache.expiry.ExpiryPolicy> |
getExpiryPolicyFactory() |
InMemoryFormat |
getInMemoryFormat()
Gets the data type that will be used for storing records.
|
Class<K> |
getKeyType() |
String |
getManagerPrefix()
Gets the manager prefix of the cache config such as "hz://".
|
String |
getName()
Gets the name of the cache.
|
String |
getNameWithPrefix()
Gets the full name of cache with manager scope prefix.
|
NearCacheConfig |
getNearCacheConfig()
Gets the
NearCacheConfig of the cache config instance. |
int |
getTotalBackupCount()
Gets the total backup count (
backupCount + asyncBackupCount ) of the cache config. |
String |
getUriString()
Gets the URI string which is global identifier of the cache.
|
Class<V> |
getValueType() |
int |
hashCode() |
boolean |
isManagementEnabled() |
boolean |
isReadThrough() |
boolean |
isStatisticsEnabled() |
boolean |
isStoreByValue() |
boolean |
isWriteThrough() |
void |
readData(ObjectDataInput in)
Reads fields from the input stream
|
CacheConfiguration<K,V> |
removeCacheEntryListenerConfiguration(javax.cache.configuration.CacheEntryListenerConfiguration<K,V> cacheEntryListenerConfiguration)
Remove a configuration for a
CacheEntryListener . |
CacheConfig<K,V> |
setAsyncBackupCount(int asyncBackupCount)
Sets the number of asynchronous backups of cache config.
|
CacheConfig<K,V> |
setBackupCount(int backupCount)
Sets the number of synchronous backups.
|
CacheConfiguration<K,V> |
setCacheLoaderFactory(javax.cache.configuration.Factory<? extends javax.cache.integration.CacheLoader<K,V>> cacheLoaderFactory)
Set the
CacheLoader factory. |
CacheConfiguration<K,V> |
setCacheWriterFactory(javax.cache.configuration.Factory<? extends javax.cache.integration.CacheWriter<? super K,? super V>> cacheWriterFactory)
Set the
CacheWriter factory. |
CacheConfig |
setEvictionConfig(CacheEvictionConfig evictionConfig)
Sets the
CacheEvictionConfig instance for eviction configuration of the cache config. |
CacheConfiguration<K,V> |
setExpiryPolicyFactory(javax.cache.configuration.Factory<? extends javax.cache.expiry.ExpiryPolicy> expiryPolicyFactory)
Set the
Factory for the ExpiryPolicy . |
CacheConfig<K,V> |
setInMemoryFormat(InMemoryFormat inMemoryFormat)
Data type that will be used for storing records.
|
CacheConfiguration<K,V> |
setManagementEnabled(boolean enabled)
Sets whether management is enabled on a cache.
|
CacheConfig<K,V> |
setManagerPrefix(String managerPrefix)
Sets the manager prefix of the cache config.
|
CacheConfig<K,V> |
setName(String name)
Sets the name of the cache.
|
CacheConfig |
setNearCacheConfig(NearCacheConfig nearCacheConfig)
Sets the
NearCacheConfig of the cache config instance. |
CacheConfiguration<K,V> |
setReadThrough(boolean isReadThrough)
Set if read-through caching should be used.
|
CacheConfiguration<K,V> |
setStatisticsEnabled(boolean enabled)
Sets whether statistics gathering is enabled on a cache.
|
CacheConfiguration<K,V> |
setStoreByValue(boolean storeByValue)
Set if a configured cache should use store-by-value or store-by-reference
semantics.
|
CacheConfiguration<K,V> |
setTypes(Class<K> keyType,
Class<V> valueType)
Sets the expected type of keys and values for a
Cache
configured with this Configuration . |
CacheConfig<K,V> |
setUriString(String uriString)
Sets the URI string which is global identifier of the cache.
|
CacheConfiguration<K,V> |
setWriteThrough(boolean isWriteThrough)
Set if write-through caching should be used.
|
String |
toString() |
void |
writeData(ObjectDataOutput out)
Writes object fields to output stream
|
protected Set<javax.cache.configuration.CacheEntryListenerConfiguration<K,V>> listenerConfigurations
CacheEntryListenerConfiguration
s for the Configuration
.protected Class<K> keyType
Cache
s configured with this
Configuration
.protected Class<V> valueType
Cache
s configured with this
Configuration
.protected javax.cache.configuration.Factory<javax.cache.integration.CacheLoader<K,V>> cacheLoaderFactory
Factory
for the CacheLoader
.protected javax.cache.configuration.Factory<javax.cache.integration.CacheWriter<? super K,? super V>> cacheWriterFactory
Factory
for the CacheWriter
.protected javax.cache.configuration.Factory<javax.cache.expiry.ExpiryPolicy> expiryPolicyFactory
Factory
for the ExpiryPolicy
.protected boolean isReadThrough
protected boolean isWriteThrough
protected boolean isStatisticsEnabled
protected boolean isStoreByValue
protected boolean isManagementEnabled
public CacheConfig()
public CacheConfig(CacheSimpleConfig simpleConfig) throws Exception
Exception
public CacheConfigReadOnly<K,V> getAsReadOnly()
public String getName()
public CacheConfig<K,V> setName(String name)
name
- the name of the cache to setpublic String getManagerPrefix()
public CacheConfig<K,V> setManagerPrefix(String managerPrefix)
managerPrefix
- the manager prefix of the cache config to setpublic String getUriString()
public CacheConfig<K,V> setUriString(String uriString)
uriString
- the URI string of the cache to setpublic String getNameWithPrefix()
public int getBackupCount()
getAsyncBackupCount()
public CacheConfig<K,V> setBackupCount(int backupCount)
backupCount
- the number of synchronous backups to setsetAsyncBackupCount(int)
public int getAsyncBackupCount()
setBackupCount(int)
public CacheConfig<K,V> setAsyncBackupCount(int asyncBackupCount)
asyncBackupCount
- the number of asynchronous backups to setsetBackupCount(int)
public int getTotalBackupCount()
backupCount + asyncBackupCount
) of the cache config.backupCount + asyncBackupCount
) of the cache configpublic CacheEvictionConfig getEvictionConfig()
CacheEvictionConfig
instance for eviction configuration of the cache config.CacheEvictionConfig
instance for eviction configurationpublic CacheConfig setEvictionConfig(CacheEvictionConfig evictionConfig)
CacheEvictionConfig
instance for eviction configuration of the cache config.evictionConfig
- the CacheEvictionConfig
instance for eviction configuration to setpublic NearCacheConfig getNearCacheConfig()
NearCacheConfig
of the cache config instance.NearCacheConfig
of the cache config instancepublic CacheConfig setNearCacheConfig(NearCacheConfig nearCacheConfig)
NearCacheConfig
of the cache config instance.nearCacheConfig
- the NearCacheConfig
of the cache to setpublic InMemoryFormat getInMemoryFormat()
public CacheConfig<K,V> setInMemoryFormat(InMemoryFormat inMemoryFormat)
inMemoryFormat
- the record type to setIllegalArgumentException
- if inMemoryFormat is null.public void writeData(ObjectDataOutput out) throws IOException
DataSerializable
out
- outputIOException
public void readData(ObjectDataInput in) throws IOException
DataSerializable
in
- inputIOException
public int hashCode()
public boolean equals(Object o)
public CacheConfiguration<K,V> addCacheEntryListenerConfiguration(javax.cache.configuration.CacheEntryListenerConfiguration<K,V> cacheEntryListenerConfiguration)
CacheEntryListener
.addCacheEntryListenerConfiguration
in interface CacheConfiguration<K,V>
cacheEntryListenerConfiguration
- the CacheEntryListenerConfiguration
CacheConfig
IllegalArgumentException
- is the same CacheEntryListenerConfiguration
is used more than oncepublic CacheConfiguration<K,V> removeCacheEntryListenerConfiguration(javax.cache.configuration.CacheEntryListenerConfiguration<K,V> cacheEntryListenerConfiguration)
CacheEntryListener
.removeCacheEntryListenerConfiguration
in interface CacheConfiguration<K,V>
cacheEntryListenerConfiguration
- the CacheEntryListenerConfiguration
to removeCacheConfig
public Iterable<javax.cache.configuration.CacheEntryListenerConfiguration<K,V>> getCacheEntryListenerConfigurations()
getCacheEntryListenerConfigurations
in interface javax.cache.configuration.CompleteConfiguration<K,V>
public boolean isReadThrough()
isReadThrough
in interface javax.cache.configuration.CompleteConfiguration<K,V>
public CacheConfiguration<K,V> setReadThrough(boolean isReadThrough)
CacheConfiguration
It is an invalid configuration to set this to true without specifying a
CacheLoader
Factory
.
setReadThrough
in interface CacheConfiguration<K,V>
isReadThrough
- true
if read-through is requiredCacheConfiguration
to permit fluent-style method callspublic boolean isWriteThrough()
isWriteThrough
in interface javax.cache.configuration.CompleteConfiguration<K,V>
public CacheConfiguration<K,V> setWriteThrough(boolean isWriteThrough)
CacheConfiguration
It is an invalid configuration to set this to true without specifying a
CacheWriter
Factory
.
setWriteThrough
in interface CacheConfiguration<K,V>
isWriteThrough
- true
if write-through is requiredCacheConfiguration
to permit fluent-style method callspublic boolean isStatisticsEnabled()
isStatisticsEnabled
in interface javax.cache.configuration.CompleteConfiguration<K,V>
public CacheConfiguration<K,V> setStatisticsEnabled(boolean enabled)
CacheManager.enableStatistics(String, boolean)
.setStatisticsEnabled
in interface CacheConfiguration<K,V>
enabled
- true to enable statistics, false to disable.CacheConfig
public boolean isManagementEnabled()
isManagementEnabled
in interface javax.cache.configuration.CompleteConfiguration<K,V>
public CacheConfiguration<K,V> setManagementEnabled(boolean enabled)
CacheManager.enableManagement(String, boolean)
.setManagementEnabled
in interface CacheConfiguration<K,V>
enabled
- true to enable statistics, false to disable.CacheConfig
public javax.cache.configuration.Factory<javax.cache.integration.CacheLoader<K,V>> getCacheLoaderFactory()
getCacheLoaderFactory
in interface javax.cache.configuration.CompleteConfiguration<K,V>
public CacheConfiguration<K,V> setCacheLoaderFactory(javax.cache.configuration.Factory<? extends javax.cache.integration.CacheLoader<K,V>> cacheLoaderFactory)
CacheConfiguration
CacheLoader
factory.setCacheLoaderFactory
in interface CacheConfiguration<K,V>
cacheLoaderFactory
- the CacheLoader
Factory
CacheConfiguration
to permit fluent-style method callspublic CacheConfiguration<K,V> setExpiryPolicyFactory(javax.cache.configuration.Factory<? extends javax.cache.expiry.ExpiryPolicy> expiryPolicyFactory)
CacheConfiguration
Factory
for the ExpiryPolicy
. If null
is specified the default ExpiryPolicy
is used.setExpiryPolicyFactory
in interface CacheConfiguration<K,V>
expiryPolicyFactory
- the ExpiryPolicy
Factory
CacheConfiguration
to permit fluent-style method callspublic CacheConfiguration<K,V> setCacheWriterFactory(javax.cache.configuration.Factory<? extends javax.cache.integration.CacheWriter<? super K,? super V>> cacheWriterFactory)
CacheConfiguration
CacheWriter
factory.setCacheWriterFactory
in interface CacheConfiguration<K,V>
cacheWriterFactory
- the CacheWriter
Factory
CacheConfiguration
to permit fluent-style method callspublic javax.cache.configuration.Factory<javax.cache.integration.CacheWriter<? super K,? super V>> getCacheWriterFactory()
getCacheWriterFactory
in interface javax.cache.configuration.CompleteConfiguration<K,V>
public javax.cache.configuration.Factory<javax.cache.expiry.ExpiryPolicy> getExpiryPolicyFactory()
getExpiryPolicyFactory
in interface javax.cache.configuration.CompleteConfiguration<K,V>
public Class<K> getKeyType()
getKeyType
in interface javax.cache.configuration.Configuration<K,V>
public Class<V> getValueType()
getValueType
in interface javax.cache.configuration.Configuration<K,V>
public CacheConfiguration<K,V> setTypes(Class<K> keyType, Class<V> valueType)
Cache
configured with this Configuration
. Setting both to
Object.class
means type-safety checks are not required.
This is used by CacheManager
to ensure that the key and value
types are the same as those configured for the Cache
prior to
returning a requested cache from this method.
Implementations may further perform type checking on mutative cache operations
and throw a ClassCastException
if these checks fail.setTypes
in interface CacheConfiguration<K,V>
keyType
- the expected key typevalueType
- the expected value typeCacheConfig
NullPointerException
- should the key or value type be nullCacheManager.getCache(String, Class, Class)
public boolean isStoreByValue()
isStoreByValue
in interface javax.cache.configuration.Configuration<K,V>
public CacheConfiguration<K,V> setStoreByValue(boolean storeByValue)
setStoreByValue
in interface CacheConfiguration<K,V>
storeByValue
- true
if store-by-value is required,
false
for store-by-referenceCacheConfig
protected Set<javax.cache.configuration.CacheEntryListenerConfiguration<K,V>> createConcurrentSet()
Copyright © 2014 Hazelcast, Inc.. All Rights Reserved.