Package org.shoal.ha.cache.api
Interface DataStore<K,V>
-
- All Known Implementing Classes:
ReplicatedDataStore
public interface DataStore<K,V>A DataStore allows (#{Serializable} / #{Storable}) objects to be placed in the cache. The cache itself is created and configured using a #{DataStoreFactory}.- Author:
- Mahesh Kannan
-
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description voidclose()Close this datastore.voiddestroy()Vget(K k)Returns the value to which the specified key is mapped in this cache.java.lang.Stringput(K k, V v)Creates or Replaces the object associated with key k.voidremove(K k)Removes the mapping between the key and the object.intremoveIdleEntries(long idleFor)Removes all entries that were not accessed for more than 'idlefor' millisintsize()java.lang.Stringtouch(K k, long version, long timeStamp, long ttl)Updates the timestamp associated with this entry.
-
-
-
Method Detail
-
put
java.lang.String put(K k, V v) throws DataStoreException
Creates or Replaces the object associated with key k.- Parameters:
k- The Keyv- The value. The value must be either serializable of the DataStoreEntryHelper that is associated with this cache must be able to transform this into a serializable.- Throws:
DataStoreException
-
get
V get(K k) throws DataStoreException
Returns the value to which the specified key is mapped in this cache.- Parameters:
k- The key- Returns:
- The value if the association exists or null.
- Throws:
DataStoreException
-
remove
void remove(K k) throws DataStoreException
Removes the mapping between the key and the object.- Parameters:
k- The key- Throws:
DataStoreException
-
touch
java.lang.String touch(K k, long version, long timeStamp, long ttl) throws DataStoreException
Updates the timestamp associated with this entry. see #{removeIdleEntries}- Parameters:
k- The key- Throws:
DataStoreException
-
removeIdleEntries
int removeIdleEntries(long idleFor)
Removes all entries that were not accessed for more than 'idlefor' millis- Parameters:
idleFor- Time in milli seconds
-
close
void close()
Close this datastore. This causes all data to be removed(?)
-
destroy
void destroy()
-
size
int size()
-
-