Package javax.cache.configuration
Interface Configuration<K,V>
- Type Parameters:
K
- the type of keys maintained the cacheV
- the type of cached values
- All Superinterfaces:
Serializable
- All Known Subinterfaces:
CompleteConfiguration<K,
V>
- All Known Implementing Classes:
MutableConfiguration
A basic read-only representation of a
Cache
configuration.
The properties provided by instances of this interface are used by
CacheManager
s to configure Cache
s.
Implementations of this interface must override Object.hashCode()
and
Object.equals(Object)
as Configuration
s are often compared at
runtime.
- Since:
- 1.0
-
Method Summary
Modifier and TypeMethodDescriptionDetermines the required type of keys forCache
s configured with thisConfiguration
.Determines the required type of values forCache
s configured with thisConfiguration
.boolean
Whether storeByValue (true) or storeByReference (false).
-
Method Details
-
getKeyType
Determines the required type of keys forCache
s configured with thisConfiguration
.- Returns:
- the key type or
Object.class
if the type is undefined
-
getValueType
Determines the required type of values forCache
s configured with thisConfiguration
.- Returns:
- the value type or
Object.class
if the type is undefined
-
isStoreByValue
boolean isStoreByValue()Whether storeByValue (true) or storeByReference (false). When true, both keys and values are stored by value.When false, both keys and values are stored by reference. Caches stored by reference are capable of mutation by any threads holding the reference. The effects are:
- if the key is mutated, then the key may not be retrievable or removable
- if the value is mutated, then all threads in the JVM can potentially observe those mutations, subject to the normal Java Memory Model rules.
When a cache is storeByValue, any mutation to the key or value does not affect the key of value stored in the cache.
The default value is
true
.- Returns:
- true if the cache is store by value
-