|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectorg.simantics.databoard.serialization.Serializer
org.simantics.databoard.serialization.Serializer.NonRecursiveSerializer
public abstract static class Serializer.NonRecursiveSerializer
Serializer for non-recursive data types
Nested Class Summary |
---|
Nested classes/interfaces inherited from class org.simantics.databoard.serialization.Serializer |
---|
Serializer.CompositeSerializer, Serializer.NonRecursiveSerializer, Serializer.RecursiveSerializer |
Constructor Summary | |
---|---|
Serializer.NonRecursiveSerializer()
|
Method Summary | |
---|---|
java.lang.Object |
deserialize(java.io.DataInput in,
java.util.List<java.lang.Object> identities)
Deserialize an object from a readable. |
void |
deserialize(java.io.DataInput in,
java.util.List<java.lang.Object> identities,
java.lang.Object obj)
Deserialize into an valid object. |
int |
getSize(java.lang.Object obj,
gnu.trove.TObjectIntHashMap<java.lang.Object> identities)
Get the number of bytes required to serialize an object |
void |
serialize(java.io.DataOutput out,
gnu.trove.TObjectIntHashMap<java.lang.Object> identities,
java.lang.Object obj)
Serialize obj to out. |
void |
skip(java.io.DataInput in,
java.util.List<java.lang.Object> identities)
Skip over an object in a stream. |
Methods inherited from class org.simantics.databoard.serialization.Serializer |
---|
deserialize, deserialize, deserialize, deserialize, deserialize, deserialize, deserialize, deserialize, getConstantSize, getInputStream, getMinSize, getSize, serialize, serialize, serialize, serialize, skip, skip |
Methods inherited from class java.lang.Object |
---|
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Constructor Detail |
---|
public Serializer.NonRecursiveSerializer()
Method Detail |
---|
public void serialize(java.io.DataOutput out, gnu.trove.TObjectIntHashMap<java.lang.Object> identities, java.lang.Object obj) throws java.io.IOException
Serializer
null
value can be provided.
serialize
in class Serializer
identities
- Thread local empty map or null
if there is no recursion
java.io.IOException
public java.lang.Object deserialize(java.io.DataInput in, java.util.List<java.lang.Object> identities) throws java.io.IOException
Serializer
null
value can be provided.Note, if in argument is instanceof BinaryReadable or RandomAccessBinary, the serializer performs extra protection against malformed data when deserializing arrays and maps. This prevents the serializer from instanting potentially out-of-memory-invoking huge arrays. For example, if data data says array size is 0xffffffff (-1), 4GB is allocated -> out of memory exception -> unhandled runtime error. BinaryReadable has length limit which allowes serializer to estimate whether future data is readable.
deserialize
in class Serializer
in
- DataInput, BinaryReadable or RandomAccessBinaryidentities
- empty identities array or null
if there is no recursion
java.io.IOException
public void deserialize(java.io.DataInput in, java.util.List<java.lang.Object> identities, java.lang.Object obj) throws java.io.IOException
Serializer
deserialize
in class Serializer
obj
- valid object
java.io.IOException
public void skip(java.io.DataInput in, java.util.List<java.lang.Object> identities) throws java.io.IOException
Serializer
skip
in class Serializer
java.io.IOException
public int getSize(java.lang.Object obj, gnu.trove.TObjectIntHashMap<java.lang.Object> identities) throws java.io.IOException
Serializer
getSize
in class Serializer
identities
- thread local empty hash map
java.io.IOException
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |