Class DataStore
java.lang.Object
org.eclipse.rdf4j.sail.nativerdf.datastore.DataStore
- All Implemented Interfaces:
Closeable
,AutoCloseable
Class that provides indexed storage and retrieval of arbitrary length data.
- Author:
- Arjohn Kampman
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionvoid
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
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.
-
Constructor Details
-
DataStore
- Throws:
IOException
-
DataStore
- Throws:
IOException
-
-
Method Details
-
getData
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
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()Returns the maximum value-ID that is in use.- Returns:
- The largest ID, or 0 if the store does not contain any values.
-
storeData
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
Synchronizes any recent changes to the data to disk.- Throws:
IOException
- If an I/O error occurred.
-
clear
Removes all values from the DataStore.- Throws:
IOException
- If an I/O error occurred.
-
close
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.- Specified by:
close
in interfaceAutoCloseable
- Specified by:
close
in interfaceCloseable
- Throws:
IOException
- If an I/O error occurred.
-
main
- Throws:
Exception
-