Package com._1c.g5.v8.bm.store
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
-
start
void start() throws IOException
Starts the store.- Throws:
IOException
- if any I/O error occurs.
-
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 benull
.- 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 benull
.- 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 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 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.
-
keysIterator
IBmLongIterator keysIterator()
Gets iterator over all the keys in the store.- Returns:
- an instance of
IBmLongIterator
, nevernull
.
-
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.
-
-