Package com._1c.g5.v8.bm.store
Interface IBmPersistentLongStore
-
public interface IBmPersistentLongStoreLong to byte array persistent key-value store.
-
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description voidclose()Closes the store.longgetStoreSize()Gets the size of the store, in bytes.IBmLongIteratorkeysIterator()Gets iterator over all the keys in the store.<T> Tread(long key, IBmPersistentStoreReaderCallback<T> callback)Reads data associated with the specified key.booleanremove(long key)Removes data assoicated with the specified key.booleanrequiresCompacting()Checks if the store requires compacting.voidstart()Starts the store.voidwrite(long key, byte[] data)Writes the specified data to store and associates with the specified key.voidwriteData(long key, byte[] data, int offset, int length)Writes the specified piece of binary data and associates it with the specified ID.
-
-
-
Method Detail
-
start
void start() throws IOExceptionStarts the store.- Throws:
IOException- if any I/O error occurs.
-
close
void close() throws IOExceptionCloses 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 IOExceptionReads data associated with the specified key. If the data exist the callback is invoked.- Parameters:
key- The key.callback- The callback. May not benull.- Returns:
- the result returned by callback or
nullif 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 IOExceptionWrites the specified data to store and associates with the specified key.- Parameters:
key- The key.data- The byte array containing the data. May not benull.- Throws:
IOException- if any I/O error occurs.
-
writeData
void writeData(long key, byte[] data, int offset, int length) throws IOExceptionWrites 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 benull.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 IOExceptionRemoves data assoicated with the specified key.- Parameters:
key- The key.- Returns:
trueif there were data associated with the specified key,falseotherwise.- Throws:
IOException- if any I/O error occurs.
-
keysIterator
IBmLongIterator keysIterator()
Gets iterator over all the keys in the store.- Returns:
- an instance of
IBmLongIterator, nevernull.
-
getStoreSize
long getStoreSize() throws IOExceptionGets 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 IOExceptionChecks if the store requires compacting.- Returns:
trueif the store requires compacting,falseotherwise.- Throws:
IOException- if any I/O error occurs.
-
-