public class Slice extends AbstractSlice<byte[]>
Base class for slices which will receive byte[] based access to the underlying data.
byte[] backed slices typically perform better with
small keys and values. When using larger keys and
values consider using DirectSlice
Constructor and Description |
---|
Slice(byte[] data)
Constructs a slice where the data is a copy of
the byte array.
|
Slice(byte[] data,
int offset)
Constructs a slice where the data is a copy of
the byte array from a specific offset.
|
Slice(java.lang.String str)
Constructs a slice where the data is taken from
a String.
|
Modifier and Type | Method and Description |
---|---|
void |
clear()
Clears the backing slice
|
protected byte[] |
data0(long handle)
Access to the data is provided by the
subtype as it needs to handle the
generic typing.
|
protected void |
disposeInternal()
Deletes underlying C++ slice pointer
and any buffered data.
|
void |
removePrefix(int n)
Drops the specified
n
number of bytes from the start
of the backing slice |
compare, createNewSliceFromString, data, disposeInternal, empty, equals, hashCode, size, startsWith, toString, toString
close, getNativeHandle, isOwningHandle, resetNativeHandle, setNativeHandle
dispose, finalize
public Slice(java.lang.String str)
Constructs a slice where the data is taken from a String.
str
- String value.public Slice(byte[] data, int offset)
Constructs a slice where the data is a copy of the byte array from a specific offset.
data
- byte array.offset
- offset within the byte array.public Slice(byte[] data)
Constructs a slice where the data is a copy of the byte array.
data
- byte array.public void clear()
AbstractSlice
clear
in class AbstractSlice<byte[]>
public void removePrefix(int n)
AbstractSlice
n
number of bytes from the start
of the backing sliceremovePrefix
in class AbstractSlice<byte[]>
n
- The number of bytes to dropprotected void disposeInternal()
Deletes underlying C++ slice pointer and any buffered data.
Note that this function should be called only after all RocksDB instances referencing the slice are closed. Otherwise an undefined behavior will occur.
disposeInternal
in class RocksMutableObject
protected final byte[] data0(long handle)
AbstractSlice
data0
in class AbstractSlice<byte[]>
handle
- The address of the underlying
native object.