public class SerializerBase extends java.lang.Object implements Serializer<java.lang.Object>
| Modifier and Type | Class and Description |
|---|---|
protected static class |
SerializerBase.FastArrayList<K>
Utility class similar to ArrayList, but with fast identity search.
|
protected static interface |
SerializerBase.Header
Header byte, is used at start of each record to indicate data type
WARNING !!! values bellow must be unique !!!!!
|
protected static interface |
SerializerBase.HeaderMapDB |
protected static class |
SerializerBase.singletons |
Serializer.CompressionWrapper<E>| Modifier and Type | Field and Description |
|---|---|
protected static java.lang.String |
EMPTY_STRING |
BASIC, BOOLEAN, BYTE_ARRAY, BYTE_ARRAY_NOSIZE, CHAR_ARRAY, DOUBLE_ARRAY, ILLEGAL_ACCESS, INT_ARRAY, INTEGER, JAVA, LONG, LONG_ARRAY, STRING, STRING_ASCII, STRING_INTERN, STRING_NOSIZE, UUID| Constructor and Description |
|---|
SerializerBase() |
| Modifier and Type | Method and Description |
|---|---|
static void |
assertSerializable(java.lang.Object o) |
protected static byte[] |
booleanToByteArray(boolean[] bool)
Builds a byte array from the array of booleans, compressing up to 8 booleans per byte.
|
java.lang.Object |
deserialize(java.io.DataInput is,
int capacity)
Deserialize the content of an object from a DataInput.
|
java.lang.Object |
deserialize(java.io.DataInput is,
SerializerBase.FastArrayList<java.lang.Object> objectStack) |
private java.lang.Object |
deserialize2(int head,
java.io.DataInput is) |
private java.lang.Object |
deserialize3(java.io.DataInput is,
SerializerBase.FastArrayList<java.lang.Object> objectStack,
int head) |
private byte[] |
deserializeArrayByte(java.io.DataInput is) |
private java.util.ArrayList<java.lang.Object> |
deserializeArrayList(java.io.DataInput is,
SerializerBase.FastArrayList<java.lang.Object> objectStack) |
private java.util.ArrayList<java.lang.Object> |
deserializeArrayListPackedLong(java.io.DataInput is) |
private java.lang.Object[] |
deserializeArrayObject(java.io.DataInput is,
SerializerBase.FastArrayList<java.lang.Object> objectStack) |
private java.lang.Object[] |
deserializeArrayObjectAllNull(java.io.DataInput is) |
private java.lang.Object[] |
deserializeArrayObjectNoRefs(java.io.DataInput is) |
private java.lang.Object[] |
deserializeArrayObjectPackedLong(java.io.DataInput is) |
protected java.lang.Class |
deserializeClass(java.io.DataInput is) |
private java.util.HashMap<java.lang.Object,java.lang.Object> |
deserializeHashMap(java.io.DataInput is,
SerializerBase.FastArrayList<java.lang.Object> objectStack) |
private java.util.HashSet<java.lang.Object> |
deserializeHashSet(java.io.DataInput is,
SerializerBase.FastArrayList<java.lang.Object> objectStack) |
private java.util.LinkedHashMap<java.lang.Object,java.lang.Object> |
deserializeLinkedHashMap(java.io.DataInput is,
SerializerBase.FastArrayList<java.lang.Object> objectStack) |
private java.util.LinkedHashSet<java.lang.Object> |
deserializeLinkedHashSet(java.io.DataInput is,
SerializerBase.FastArrayList<java.lang.Object> objectStack) |
private java.util.LinkedList |
deserializeLinkedList(java.io.DataInput is,
SerializerBase.FastArrayList<java.lang.Object> objectStack) |
protected java.lang.Object |
deserializeMapDB(java.io.DataInput is,
SerializerBase.FastArrayList<java.lang.Object> objectStack) |
private java.util.Properties |
deserializeProperties(java.io.DataInput is,
SerializerBase.FastArrayList<java.lang.Object> objectStack) |
(package private) static java.lang.String |
deserializeString(java.io.DataInput buf,
int len) |
private java.util.TreeMap<java.lang.Object,java.lang.Object> |
deserializeTreeMap(java.io.DataInput is,
SerializerBase.FastArrayList<java.lang.Object> objectStack) |
private java.util.TreeSet<java.lang.Object> |
deserializeTreeSet(java.io.DataInput is,
SerializerBase.FastArrayList<java.lang.Object> objectStack) |
protected java.lang.Object |
deserializeUnknownHeader(java.io.DataInput is,
int head,
SerializerBase.FastArrayList<java.lang.Object> objectStack)
override this method to extend SerializerBase functionality
|
int |
fixedSize()
Data could be serialized into record with variable size or fixed size.
|
protected Engine |
getEngine() |
protected static boolean[] |
readBooleanArray(int numBools,
java.io.DataInput is)
Unpacks an integer from the DataInput indicating the number of booleans that are compressed.
|
void |
serialize(java.io.DataOutput out,
java.lang.Object obj)
Serialize the content of an object into a ObjectOutput
|
void |
serialize(java.io.DataOutput out,
java.lang.Object obj,
SerializerBase.FastArrayList<java.lang.Object> objectStack) |
private void |
serialize2(java.io.DataOutput out,
java.lang.Object obj,
SerializerBase.FastArrayList<java.lang.Object> objectStack,
java.lang.Class<?> clazz) |
private void |
serializeByte(java.io.DataOutput out,
java.lang.Object obj) |
private void |
serializeByteArray(java.io.DataOutput out,
byte[] b) |
protected void |
serializeClass(java.io.DataOutput out,
java.lang.Class clazz) |
private void |
serializeCollection(int header,
java.io.DataOutput out,
java.lang.Object obj,
SerializerBase.FastArrayList<java.lang.Object> objectStack) |
private void |
serializeDouble(java.io.DataOutput out,
java.lang.Object obj) |
private void |
serializeFloat(java.io.DataOutput out,
java.lang.Object obj) |
private void |
serializeInt(java.io.DataOutput out,
java.lang.Object obj) |
private void |
serializeIntArray(java.io.DataOutput out,
int[] val) |
private void |
serializeLong(java.io.DataOutput out,
java.lang.Object obj) |
private void |
serializeLongArray(java.io.DataOutput out,
long[] val) |
private void |
serializeMap(int header,
java.io.DataOutput out,
java.lang.Object obj,
SerializerBase.FastArrayList<java.lang.Object> objectStack) |
private void |
serializerChar(java.io.DataOutput out,
java.lang.Object obj) |
private void |
serializeShort(java.io.DataOutput out,
java.lang.Object obj) |
private void |
serializeString(java.io.DataOutput out,
java.lang.Object obj) |
protected void |
serializeUnknownObject(java.io.DataOutput out,
java.lang.Object obj,
SerializerBase.FastArrayList<java.lang.Object> objectStack)
override this method to extend SerializerBase functionality
|
protected static final java.lang.String EMPTY_STRING
public void serialize(java.io.DataOutput out,
java.lang.Object obj)
throws java.io.IOException
Serializerserialize in interface Serializer<java.lang.Object>out - ObjectOutput to save object intoobj - Object to serializejava.io.IOExceptionpublic void serialize(java.io.DataOutput out,
java.lang.Object obj,
SerializerBase.FastArrayList<java.lang.Object> objectStack)
throws java.io.IOException
java.io.IOExceptionprivate void serialize2(java.io.DataOutput out,
java.lang.Object obj,
SerializerBase.FastArrayList<java.lang.Object> objectStack,
java.lang.Class<?> clazz)
throws java.io.IOException
java.io.IOExceptionprivate void serializeString(java.io.DataOutput out,
java.lang.Object obj)
throws java.io.IOException
java.io.IOExceptionprivate void serializeLongArray(java.io.DataOutput out,
long[] val)
throws java.io.IOException
java.io.IOExceptionprivate void serializeIntArray(java.io.DataOutput out,
int[] val)
throws java.io.IOException
java.io.IOExceptionprivate void serializeDouble(java.io.DataOutput out,
java.lang.Object obj)
throws java.io.IOException
java.io.IOExceptionprivate void serializeFloat(java.io.DataOutput out,
java.lang.Object obj)
throws java.io.IOException
java.io.IOExceptionprivate void serializeShort(java.io.DataOutput out,
java.lang.Object obj)
throws java.io.IOException
java.io.IOExceptionprivate void serializerChar(java.io.DataOutput out,
java.lang.Object obj)
throws java.io.IOException
java.io.IOExceptionprivate void serializeByte(java.io.DataOutput out,
java.lang.Object obj)
throws java.io.IOException
java.io.IOExceptionprivate void serializeLong(java.io.DataOutput out,
java.lang.Object obj)
throws java.io.IOException
java.io.IOExceptionprivate void serializeInt(java.io.DataOutput out,
java.lang.Object obj)
throws java.io.IOException
java.io.IOExceptionprotected void serializeClass(java.io.DataOutput out,
java.lang.Class clazz)
throws java.io.IOException
java.io.IOExceptionprivate void serializeMap(int header,
java.io.DataOutput out,
java.lang.Object obj,
SerializerBase.FastArrayList<java.lang.Object> objectStack)
throws java.io.IOException
java.io.IOExceptionprivate void serializeCollection(int header,
java.io.DataOutput out,
java.lang.Object obj,
SerializerBase.FastArrayList<java.lang.Object> objectStack)
throws java.io.IOException
java.io.IOExceptionprivate void serializeByteArray(java.io.DataOutput out,
byte[] b)
throws java.io.IOException
java.io.IOExceptionstatic java.lang.String deserializeString(java.io.DataInput buf,
int len)
throws java.io.IOException
java.io.IOExceptionpublic java.lang.Object deserialize(java.io.DataInput is,
int capacity)
throws java.io.IOException
Serializerdeserialize in interface Serializer<java.lang.Object>is - to read serialized data fromcapacity - how many bytes are available in DataInput for reading, may be -1 (in streams) or 0 (null).java.io.IOExceptionpublic java.lang.Object deserialize(java.io.DataInput is,
SerializerBase.FastArrayList<java.lang.Object> objectStack)
throws java.io.IOException
java.io.IOExceptionprivate java.lang.Object deserialize3(java.io.DataInput is,
SerializerBase.FastArrayList<java.lang.Object> objectStack,
int head)
throws java.io.IOException
java.io.IOExceptionprivate java.lang.Object deserialize2(int head,
java.io.DataInput is)
throws java.io.IOException
java.io.IOExceptionpublic static void assertSerializable(java.lang.Object o)
protected java.lang.Object deserializeMapDB(java.io.DataInput is,
SerializerBase.FastArrayList<java.lang.Object> objectStack)
throws java.io.IOException
java.io.IOExceptionprotected Engine getEngine()
protected java.lang.Class deserializeClass(java.io.DataInput is)
throws java.io.IOException
java.io.IOExceptionprivate byte[] deserializeArrayByte(java.io.DataInput is)
throws java.io.IOException
java.io.IOExceptionprivate java.lang.Object[] deserializeArrayObject(java.io.DataInput is,
SerializerBase.FastArrayList<java.lang.Object> objectStack)
throws java.io.IOException
java.io.IOExceptionprivate java.lang.Object[] deserializeArrayObjectNoRefs(java.io.DataInput is)
throws java.io.IOException
java.io.IOExceptionprivate java.lang.Object[] deserializeArrayObjectAllNull(java.io.DataInput is)
throws java.io.IOException
java.io.IOExceptionprivate java.lang.Object[] deserializeArrayObjectPackedLong(java.io.DataInput is)
throws java.io.IOException
java.io.IOExceptionprivate java.util.ArrayList<java.lang.Object> deserializeArrayList(java.io.DataInput is,
SerializerBase.FastArrayList<java.lang.Object> objectStack)
throws java.io.IOException
java.io.IOExceptionprivate java.util.ArrayList<java.lang.Object> deserializeArrayListPackedLong(java.io.DataInput is)
throws java.io.IOException
java.io.IOExceptionprivate java.util.LinkedList deserializeLinkedList(java.io.DataInput is,
SerializerBase.FastArrayList<java.lang.Object> objectStack)
throws java.io.IOException
java.io.IOExceptionprivate java.util.HashSet<java.lang.Object> deserializeHashSet(java.io.DataInput is,
SerializerBase.FastArrayList<java.lang.Object> objectStack)
throws java.io.IOException
java.io.IOExceptionprivate java.util.LinkedHashSet<java.lang.Object> deserializeLinkedHashSet(java.io.DataInput is,
SerializerBase.FastArrayList<java.lang.Object> objectStack)
throws java.io.IOException
java.io.IOExceptionprivate java.util.TreeSet<java.lang.Object> deserializeTreeSet(java.io.DataInput is,
SerializerBase.FastArrayList<java.lang.Object> objectStack)
throws java.io.IOException
java.io.IOExceptionprivate java.util.TreeMap<java.lang.Object,java.lang.Object> deserializeTreeMap(java.io.DataInput is,
SerializerBase.FastArrayList<java.lang.Object> objectStack)
throws java.io.IOException
java.io.IOExceptionprivate java.util.HashMap<java.lang.Object,java.lang.Object> deserializeHashMap(java.io.DataInput is,
SerializerBase.FastArrayList<java.lang.Object> objectStack)
throws java.io.IOException
java.io.IOExceptionprivate java.util.LinkedHashMap<java.lang.Object,java.lang.Object> deserializeLinkedHashMap(java.io.DataInput is,
SerializerBase.FastArrayList<java.lang.Object> objectStack)
throws java.io.IOException
java.io.IOExceptionprivate java.util.Properties deserializeProperties(java.io.DataInput is,
SerializerBase.FastArrayList<java.lang.Object> objectStack)
throws java.io.IOException
java.io.IOExceptionprotected void serializeUnknownObject(java.io.DataOutput out,
java.lang.Object obj,
SerializerBase.FastArrayList<java.lang.Object> objectStack)
throws java.io.IOException
java.io.IOExceptionprotected java.lang.Object deserializeUnknownHeader(java.io.DataInput is,
int head,
SerializerBase.FastArrayList<java.lang.Object> objectStack)
throws java.io.IOException
java.io.IOExceptionprotected static byte[] booleanToByteArray(boolean[] bool)
bool - The booleans to be compressed.protected static boolean[] readBooleanArray(int numBools,
java.io.DataInput is)
throws java.io.IOException
numBools elements. This is
necessary in situations where the number of booleans is not a multiple of 8.
Author of this method is Chris Alexander.java.io.IOException - If an error occurred while reading.public int fixedSize()
SerializerfixedSize in interface Serializer<java.lang.Object>