public final class SerializerCompressionDeflateWrapper<E> extends java.lang.Object implements GroupSerializer<E>, java.io.Serializable
Modifier and Type | Field and Description |
---|---|
protected int |
compressLevel |
protected byte[] |
dictionary |
protected GroupSerializer<E> |
serializer |
BIG_DECIMAL, BIG_INTEGER, BOOLEAN, BYTE, BYTE_ARRAY, BYTE_ARRAY_DELTA, BYTE_ARRAY_DELTA2, BYTE_ARRAY_NOSIZE, CHAR, CHAR_ARRAY, CLASS, DATE, DOUBLE, DOUBLE_ARRAY, ELSA, FLOAT, FLOAT_ARRAY, ILLEGAL_ACCESS, INT_ARRAY, INTEGER, INTEGER_DELTA, INTEGER_PACKED, JAVA, LONG, LONG_ARRAY, LONG_DELTA, LONG_PACKED, RECID, RECID_ARRAY, SHORT, SHORT_ARRAY, STRING, STRING_ASCII, STRING_DELTA, STRING_DELTA2, STRING_INTERN, STRING_NOSIZE, STRING_ORIGHASH, UUID
Constructor and Description |
---|
SerializerCompressionDeflateWrapper(GroupSerializer<E> serializer) |
SerializerCompressionDeflateWrapper(GroupSerializer<E> serializer,
int compressLevel,
byte[] dictionary) |
Modifier and Type | Method and Description |
---|---|
int |
compare(E o1,
E o2) |
E |
deserialize(DataInput2 in,
int available)
Deserializes and returns the content of the given
DataInput2 . |
boolean |
equals(E a1,
E a2)
Returns if the first and second arguments are equal to each other.
|
boolean |
equals(java.lang.Object o) |
int |
hashCode() |
int |
hashCode(E e,
int seed)
Returns a hash code of a given non-null argument.
|
boolean |
isTrusted()
Returns if this Serializer is trusted to always read the same number of
bytes as it writes for any given object being serialized/de-serialized.
|
void |
serialize(DataOutput2 out,
E value)
Serializes the content of the given value into the given
DataOutput2 . |
java.lang.Object |
valueArrayCopyOfRange(java.lang.Object vals,
int from,
int to) |
java.lang.Object |
valueArrayDeleteValue(java.lang.Object vals,
int pos) |
java.lang.Object |
valueArrayDeserialize(DataInput2 in,
int size) |
java.lang.Object |
valueArrayEmpty() |
java.lang.Object |
valueArrayFromArray(java.lang.Object[] objects) |
E |
valueArrayGet(java.lang.Object vals,
int pos) |
java.lang.Object |
valueArrayPut(java.lang.Object vals,
int pos,
E newValue) |
int |
valueArraySearch(java.lang.Object keys,
E key) |
int |
valueArraySearch(java.lang.Object keys,
E key,
java.util.Comparator comparator) |
void |
valueArraySerialize(DataOutput2 out,
java.lang.Object vals) |
int |
valueArraySize(java.lang.Object vals) |
java.lang.Object |
valueArrayUpdateVal(java.lang.Object vals,
int pos,
E newValue) |
clone, finalize, getClass, notify, notifyAll, toString, wait, wait, wait
nextValue, valueArrayBinaryGet, valueArrayBinarySearch, valueArrayToArray
clone, deserializeFromLong, fixedSize, needsAvailableSizeHint
protected final GroupSerializer<E> serializer
protected final int compressLevel
protected final byte[] dictionary
public SerializerCompressionDeflateWrapper(GroupSerializer<E> serializer)
public SerializerCompressionDeflateWrapper(GroupSerializer<E> serializer, int compressLevel, byte[] dictionary)
public void serialize(DataOutput2 out, E value) throws java.io.IOException
Serializer
DataOutput2
.serialize
in interface Serializer<E>
out
- DataOutput2 to save object intovalue
- Object to serializejava.io.IOException
- in case of an I/O errorpublic E deserialize(DataInput2 in, int available) throws java.io.IOException
Serializer
DataInput2
.deserialize
in interface Serializer<E>
in
- DataInput2 to de-serialize data fromavailable
- how many bytes that are available in the DataInput2 for
reading, may be -1 (in streams) or 0 (null).DataInput2
java.io.IOException
- in case of an I/O errorpublic boolean equals(java.lang.Object o)
equals
in interface java.util.Comparator<E>
equals
in class java.lang.Object
public int hashCode()
hashCode
in class java.lang.Object
public boolean isTrusted()
Serializer
MapDB has a relaxed record size boundary checking. It expects deserializers to read exactly as many bytes as were written during serialization. If a deserializer reads more bytes than it wrote, it might start reading others record data in store.
Some serializers (Kryo) have problems with this. To prevent this, we can
not read data directly from a store, but we must copy them into separate
byte[]
buffers. Thus, zero-copy optimizations are disabled by
default, but can be explicitly enabled here by letting this method return
true
.
This flag indicates if this serializer was 'verified' to read as many bytes as it writes. It should also be much better tested etc.
isTrusted
in interface Serializer<E>
public int valueArraySearch(java.lang.Object keys, E key)
valueArraySearch
in interface GroupSerializer<E>
public int valueArraySearch(java.lang.Object keys, E key, java.util.Comparator comparator)
valueArraySearch
in interface GroupSerializer<E>
public void valueArraySerialize(DataOutput2 out, java.lang.Object vals) throws java.io.IOException
valueArraySerialize
in interface GroupSerializer<E>
java.io.IOException
public java.lang.Object valueArrayDeserialize(DataInput2 in, int size) throws java.io.IOException
valueArrayDeserialize
in interface GroupSerializer<E>
java.io.IOException
public E valueArrayGet(java.lang.Object vals, int pos)
valueArrayGet
in interface GroupSerializer<E>
public int valueArraySize(java.lang.Object vals)
valueArraySize
in interface GroupSerializer<E>
public java.lang.Object valueArrayEmpty()
valueArrayEmpty
in interface GroupSerializer<E>
public java.lang.Object valueArrayPut(java.lang.Object vals, int pos, E newValue)
valueArrayPut
in interface GroupSerializer<E>
public java.lang.Object valueArrayUpdateVal(java.lang.Object vals, int pos, E newValue)
valueArrayUpdateVal
in interface GroupSerializer<E>
public java.lang.Object valueArrayFromArray(java.lang.Object[] objects)
valueArrayFromArray
in interface GroupSerializer<E>
public java.lang.Object valueArrayCopyOfRange(java.lang.Object vals, int from, int to)
valueArrayCopyOfRange
in interface GroupSerializer<E>
public java.lang.Object valueArrayDeleteValue(java.lang.Object vals, int pos)
valueArrayDeleteValue
in interface GroupSerializer<E>
public boolean equals(E a1, E a2)
Serializer
null
, true
is
returned and if exactly one argument is null
, false
is
returned.equals
in interface Serializer<E>
a1
- an objecta2
- another object to be compared with the first object for
equalityObject.equals(Object)
public int hashCode(E e, int seed)
Serializer
hashCode
in interface Serializer<E>
e
- an objectseed
- used to "scramble" theObject.hashCode()
Copyright © 2018. All Rights Reserved.