Package org.silverpeas.core.cache.model
Interface SimpleCache
-
- All Known Subinterfaces:
Cache
- All Known Implementing Classes:
AbstractCache
,AbstractSimpleCache
public interface SimpleCache
User: Yohann Chastagnier Date: 11/09/13
-
-
Method Summary
All Methods Instance Methods Abstract Methods Default Methods Modifier and Type Method Description String
add(Object value)
Adds a value and generate a unique key to retrieve later the value.void
clear()
Clear the content of the cache.<T> T
computeIfAbsent(Object key, Class<T> classType, Supplier<T> valueSupplier)
Gets a typed element from the cache and computes it if it does not yet exist.Object
get(Object key)
Gets an element from the cache.<T> T
get(Object key, Class<T> classType)
Gets a typed element from the cache.default boolean
has(Object key)
Is this cache contains an object mapped with the specified key?void
put(Object key, Object value)
Puts a value for a given key.Object
remove(Object key)
Removes an element from the cache and return it.<T> T
remove(Object key, Class<T> classType)
Removes a typed element from the cache and return it.
-
-
-
Method Detail
-
clear
void clear()
Clear the content of the cache.
-
get
Object get(Object key)
Gets an element from the cache.- Parameters:
key
- the key with which the object to get is mapped in the cache.- Returns:
- the object mapped with the key or null if no there is no object mapped with the specified key.
-
has
default boolean has(Object key)
Is this cache contains an object mapped with the specified key? It uses theget(Object)
method for doing.- Parameters:
key
- the key with which the object to get is mapped in the cache.- Returns:
- true if there is an mapped with the key. False otherwise.
- See Also:
get(Object)
-
get
<T> T get(Object key, Class<T> classType)
Gets a typed element from the cache. Null is returned if an element exists for the given key but the object doesn't satisfy the expected type.- Type Parameters:
T
- the concrete type of the object to get.- Parameters:
key
- the key with which the object to get is mapped in the cache.classType
- the class type the instance to get as to satisfy.- Returns:
- the object mapped with the key or null if either there is no object mapped with the specified key or the object doesn't satisfy the expected class type.
-
computeIfAbsent
<T> T computeIfAbsent(Object key, Class<T> classType, Supplier<T> valueSupplier)
Gets a typed element from the cache and computes it if it does not yet exist. If an element exists for the given key but the object type doesn't correspond, a new computation is performed.- Type Parameters:
T
- the concrete type of the object to get.- Parameters:
key
- the key with which the object to get is mapped in the cache.classType
- the class of the instance to get.valueSupplier
- the function that will computes the data to put into the cache.- Returns:
- the object mapped with the key or null if no there is no object mapped with the specified key.
-
remove
Object remove(Object key)
Removes an element from the cache and return it.- Parameters:
key
- the key with which the object to get is mapped in the cache.- Returns:
- the object removed from the cache.
-
remove
<T> T remove(Object key, Class<T> classType)
Removes a typed element from the cache and return it. Null is returned if an element exists for the given key but the object type doesn't correspond.- Type Parameters:
T
- the concrete type of the object to remove.- Parameters:
key
- the key with which the object to get is mapped in the cache.classType
- the class of the instance to remove.- Returns:
- the object removed from the cache.
-
add
String add(Object value)
Adds a value and generate a unique key to retrieve later the value. After 12 hours without be used the value is trashed.- Parameters:
value
- the object to add in the cache.- Returns:
- the key with which the added object is mapped in the cache.
-
-