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
CacheManagers to configure Caches.
Implementations of this interface must override Object.hashCode() and
Object.equals(Object) as Configurations are often compared at
runtime.
- Since:
- 1.0
-
Method Summary
Modifier and TypeMethodDescriptionDetermines the required type of keys forCaches configured with thisConfiguration.Determines the required type of values forCaches configured with thisConfiguration.booleanWhether storeByValue (true) or storeByReference (false).
-
Method Details
-
getKeyType
Determines the required type of keys forCaches configured with thisConfiguration.- Returns:
- the key type or
Object.classif the type is undefined
-
getValueType
Determines the required type of values forCaches configured with thisConfiguration.- Returns:
- the value type or
Object.classif 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
-