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
 void close()
          Close this datastore.
 void destroy()
           
 V get(K k)
          Returns the value to which the specified key is mapped in this cache.
 java.lang.String put(K k, V v)
          Creates or Replaces the object associated with key k.
 void remove(K k)
          Removes the mapping between the key and the object.
 int removeIdleEntries(long idleFor)
          Removes all entries that were not accessed for more than 'idlefor' millis
 int size()
           
 java.lang.String touch(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 Key
v - 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()


Copyright © 2012. All Rights Reserved.