Package com._1c.g5.v8.bm.store
Interface IBmPersistentObjectKeyStore<K>
-
public interface IBmPersistentObjectKeyStore<K>
Object 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.Iterable<K>
keys()
Gets all the keys in the store asIterable
.<T> T
read(K key, IBmPersistentStoreReaderCallback<T> callback)
Reads data associated with the specified key.boolean
remove(K key)
Removes data assoicated with the specified key.boolean
requiresCompacting()
Checks if the store requires compacting.void
start()
Starts the store.void
write(K key, byte[] data)
Writes the specified data to store and associates with the specified key.void
write(K 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(K 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. May not benull
.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(K key, byte[] data) throws IOException
Writes the specified data to store and associates with the specified key.- Parameters:
key
- The key. May not benull
.data
- The byte array containing the data. May not benull
.- Throws:
IOException
- if any I/O error occurs.
-
write
void write(K 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. May not benull
.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(K key) throws IOException
Removes data assoicated with the specified key.- Parameters:
key
- The key. May not benull
.- Returns:
true
if there were data associated with the specified key,false
otherwise.- Throws:
IOException
- if any I/O error occurs.
-
keys
Iterable<K> keys()
Gets all the keys in the store asIterable
.- Returns:
- an instance of
Iterable
, 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.
-
-