Interface IBmPersistentLongStore


  • public interface IBmPersistentLongStore
    Long to byte array persistent key-value store.
    • Method Summary

      All Methods Instance Methods Abstract Methods 
      Modifier and Type Method Description
      void close()
      Closes the store.
      long getStoreSize()
      Gets the size of the store, in bytes.
      IBmLongIterator keysIterator()
      Gets iterator over all the keys in the store.
      <T> T read​(long key, IBmPersistentStoreReaderCallback<T> callback)
      Reads data associated with the specified key.
      boolean remove​(long key)
      Removes data assoicated with the specified key.
      boolean requiresCompacting()
      Checks if the store requires compacting.
      void start()
      Starts the store.
      void write​(long key, byte[] data)
      Writes the specified data to store and associates with the specified key.
      void writeData​(long key, byte[] data, int offset, int length)
      Writes the specified piece of binary data and associates it with the specified ID.
    • Method Detail

      • close

        void close()
            throws IOException
        Closes the store. Once store closed, it cannot be started again.
        Throws:
        IOException - if any I/O error occurs.
      • read

        <T> T read​(long key,
                   IBmPersistentStoreReaderCallback<T> callback)
            throws IOException
        Reads data associated with the specified key. If the data exist the callback is invoked.
        Parameters:
        key - The key.
        callback - The callback. May not be null.
        Returns:
        the result returned by callback or null if there are no data associated with the specified key.
        Throws:
        IOException - if any I/O error occurs.
      • write

        void write​(long key,
                   byte[] data)
            throws IOException
        Writes the specified data to store and associates with the specified key.
        Parameters:
        key - The key.
        data - The byte array containing the data. May not be null.
        Throws:
        IOException - if any I/O error occurs.
      • writeData

        void writeData​(long key,
                       byte[] data,
                       int offset,
                       int length)
                throws IOException
        Writes the specified piece of binary data and associates it with the specified ID.
        Parameters:
        key - The key.
        data - The byte array containing the data. May not be null.
        offset - The offset of the data within the array.
        length - The length of the data.
        Throws:
        IOException - if any I/O error occurs.
      • remove

        boolean remove​(long key)
                throws IOException
        Removes data assoicated with the specified key.
        Parameters:
        key - The key.
        Returns:
        true if there were data associated with the specified key, false otherwise.
        Throws:
        IOException - if any I/O error occurs.
      • getStoreSize

        long getStoreSize()
                   throws IOException
        Gets the size of the store, in bytes.
        Returns:
        The size of the store, in bytes. Cannot be negative.
        Throws:
        IOException - if any I/O error occurs.
      • requiresCompacting

        boolean requiresCompacting()
                            throws IOException
        Checks if the store requires compacting.
        Returns:
        true if the store requires compacting, false otherwise.
        Throws:
        IOException - if any I/O error occurs.