Class DataFile

java.lang.Object
org.eclipse.rdf4j.sail.nativerdf.datastore.DataFile
All Implemented Interfaces:
Closeable, AutoCloseable

public class DataFile extends Object implements Closeable
Class supplying access to a data file. A data file stores data sequentially. Each entry starts with the entry's length (4 bytes), followed by the data itself. File offsets are used to identify entries.
Author:
Arjohn Kampman
  • Nested Class Summary Link icon

    Nested Classes
    Modifier and Type
    Class
    Description
    class 
    An iterator that iterates over the data that is stored in a data file.
  • Constructor Summary Link icon

    Constructors
    Constructor
    Description
    DataFile(File file)
     
    DataFile(File file, boolean forceSync)
     
  • Method Summary Link icon

    Modifier and Type
    Method
    Description
    void
    Discards all stored data.
    void
    Closes the data file, releasing any file locks that it might have.
    byte[]
    getData(long offset)
    Gets the data that is stored at the specified offset.
     
    Gets an iterator that can be used to iterate over all stored data.
    long
    storeData(byte[] data)
    Stores the specified data and returns the byte-offset at which it has been stored.
    void
    Syncs any unstored data to the hash file.
    void
    sync(boolean force)
     

    Methods inherited from class java.lang.Object Link icon

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Constructor Details Link icon

  • Method Details Link icon

    • getFile Link icon

      public File getFile()
    • storeData Link icon

      public long storeData(byte[] data) throws IOException
      Stores the specified data and returns the byte-offset at which it has been stored.
      Parameters:
      data - The data to store, must not be null.
      Returns:
      The byte-offset in the file at which the data was stored.
      Throws:
      IOException
    • getData Link icon

      public byte[] getData(long offset) throws IOException
      Gets the data that is stored at the specified offset.
      Parameters:
      offset - An offset in the data file, must be larger than 0.
      Returns:
      The data that was found on the specified offset.
      Throws:
      IOException - If an I/O error occurred.
    • clear Link icon

      public void clear() throws IOException
      Discards all stored data.
      Throws:
      IOException - If an I/O error occurred.
    • sync Link icon

      public void sync() throws IOException
      Syncs any unstored data to the hash file.
      Throws:
      IOException
    • sync Link icon

      public void sync(boolean force) throws IOException
      Throws:
      IOException
    • close Link icon

      public void close() throws IOException
      Closes the data file, releasing any file locks that it might have.
      Specified by:
      close in interface AutoCloseable
      Specified by:
      close in interface Closeable
      Throws:
      IOException
    • iterator Link icon

      public DataFile.DataIterator iterator()
      Gets an iterator that can be used to iterate over all stored data.
      Returns:
      a DataIterator.