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
      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
      • 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()