org.openrdf.sail.nativerdf.datastore
Class DataStore

java.lang.Object
  extended by org.openrdf.sail.nativerdf.datastore.DataStore

public class DataStore
extends Object

Class that provides indexed storage and retrieval of arbitrary length data.

Author:
Arjohn Kampman

Constructor Summary
DataStore(File dataDir, String filePrefix)
           
DataStore(File dataDir, String filePrefix, boolean forceSync)
           
 
Method Summary
 void clear()
          Removes all values from the DataStore.
 void close()
          Closes the DataStore, releasing any file references, etc.
 byte[] getData(int id)
          Gets the value for the specified ID.
 int getID(byte[] queryData)
          Gets the ID for the specified value.
 int getMaxID()
          Returns the maximum value-ID that is in use.
static void main(String[] args)
           
 int storeData(byte[] data)
          Stores the supplied value and returns the ID that has been assigned to it.
 void sync()
          Synchronizes any recent changes to the data to disk.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

DataStore

public DataStore(File dataDir,
                 String filePrefix)
          throws IOException
Throws:
IOException

DataStore

public DataStore(File dataDir,
                 String filePrefix,
                 boolean forceSync)
          throws IOException
Throws:
IOException
Method Detail

getData

public byte[] getData(int id)
               throws IOException
Gets the value for the specified ID.

Parameters:
id - A value ID, should be larger than 0.
Returns:
The value for the ID, or null if no such value could be found.
Throws:
IOException - If an I/O error occurred.

getID

public int getID(byte[] queryData)
          throws IOException
Gets the ID for the specified value.

Parameters:
queryData - The value to get the ID for, must not be null.
Returns:
The ID for the specified value, or -1 if no such ID could be found.
Throws:
IOException - If an I/O error occurred.

getMaxID

public int getMaxID()
             throws IOException
Returns the maximum value-ID that is in use.

Returns:
The largest ID, or 0 if the store does not contain any values.
Throws:
IOException - If an I/O error occurs.

storeData

public int storeData(byte[] data)
              throws IOException
Stores the supplied value and returns the ID that has been assigned to it. In case the data to store is already present, the ID of this existing data is returned.

Parameters:
data - The data to store, must not be null.
Returns:
The ID that has been assigned to the value.
Throws:
IOException - If an I/O error occurred.

sync

public void sync()
          throws IOException
Synchronizes any recent changes to the data to disk.

Throws:
IOException - If an I/O error occurred.

clear

public void clear()
           throws IOException
Removes all values from the DataStore.

Throws:
IOException - If an I/O error occurred.

close

public void close()
           throws IOException
Closes the DataStore, releasing any file references, etc. In case a transaction is currently open, it will be rolled back. Once closed, the DataStore can no longer be used.

Throws:
IOException - If an I/O error occurred.

main

public static void main(String[] args)
                 throws Exception
Throws:
Exception


Copyright © 2001-2007 Aduna. All Rights Reserved.