|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectorg.simantics.databoard.serialization.Serializer
public abstract class Serializer
Databoard binary serializer.
Nested Class Summary | |
---|---|
static class |
Serializer.CompositeSerializer
Serializer for composite data types |
static class |
Serializer.NonRecursiveSerializer
Serializer for non-recursive data types |
static class |
Serializer.RecursiveSerializer
Serializer for data types that have referable objects |
Constructor Summary | |
---|---|
Serializer()
|
Method Summary | |
---|---|
java.lang.Object |
deserialize(byte[] data)
Deserialize an object in byte[] format. |
void |
deserialize(byte[] data,
java.lang.Object obj)
Deserialize byte[] into a valid object. |
abstract java.lang.Object |
deserialize(java.io.DataInput in)
|
abstract java.lang.Object |
deserialize(java.io.DataInput in,
java.util.List<java.lang.Object> identities)
Deserialize an object from a readable. |
abstract void |
deserialize(java.io.DataInput in,
java.util.List<java.lang.Object> identities,
java.lang.Object obj)
Deserialize into an valid object. |
abstract void |
deserialize(java.io.DataInput in,
java.lang.Object obj)
|
java.lang.Object |
deserialize(java.io.File file)
Deserialize object from a file. |
void |
deserialize(java.io.File file,
java.lang.Object obj)
Deserialize a file into a valid object. |
java.lang.Object |
deserialize(java.io.InputStream in)
Deserialize the next object in an input stream. |
void |
deserialize(java.io.InputStream in,
java.lang.Object obj)
Deserialize from an input stream into an object. |
abstract java.lang.Integer |
getConstantSize()
Get constant size of the data type in its binary serialized format |
java.io.InputStream |
getInputStream(java.lang.Object obj)
Get object as readable Input Stream. |
abstract int |
getMinSize()
|
abstract int |
getSize(java.lang.Object obj)
|
abstract int |
getSize(java.lang.Object obj,
gnu.trove.TObjectIntHashMap<java.lang.Object> identities)
Get the number of bytes required to serialize an object |
abstract void |
serialize(java.io.DataOutput out,
java.lang.Object obj)
|
abstract void |
serialize(java.io.DataOutput out,
gnu.trove.TObjectIntHashMap<java.lang.Object> identities,
java.lang.Object obj)
Serialize obj to out. |
byte[] |
serialize(java.lang.Object obj)
Serializes an object to a byte[]. |
void |
serialize(java.lang.Object obj,
java.io.File file)
Serialize an object to a file. |
void |
serialize(java.lang.Object obj,
java.io.OutputStream out)
Serializes an object to an output stream. |
abstract void |
skip(java.io.DataInput in)
|
abstract void |
skip(java.io.DataInput in,
java.util.List<java.lang.Object> identities)
Skip over an object in a stream. |
void |
skip(java.io.InputStream in)
Skip over an object in a stream. |
Methods inherited from class java.lang.Object |
---|
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Constructor Detail |
---|
public Serializer()
Method Detail |
---|
public abstract void serialize(java.io.DataOutput out, gnu.trove.TObjectIntHashMap<java.lang.Object> identities, java.lang.Object obj) throws java.io.IOException
null
value can be provided.
out
- identities
- Thread local empty map or null
if there is no recursionobj
-
java.io.IOException
public abstract void serialize(java.io.DataOutput out, java.lang.Object obj) throws java.io.IOException
java.io.IOException
public abstract java.lang.Object deserialize(java.io.DataInput in, java.util.List<java.lang.Object> identities) throws java.io.IOException
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.
in
- DataInput, BinaryReadable or RandomAccessBinaryidentities
- empty identities array or null
if there is no recursion
java.io.IOException
public abstract java.lang.Object deserialize(java.io.DataInput in) throws java.io.IOException
java.io.IOException
public abstract void deserialize(java.io.DataInput in, java.util.List<java.lang.Object> identities, java.lang.Object obj) throws java.io.IOException
in
- identities
- obj
- valid object
java.io.IOException
public abstract void deserialize(java.io.DataInput in, java.lang.Object obj) throws java.io.IOException
java.io.IOException
public java.lang.Object deserialize(java.io.InputStream in) throws java.io.IOException
deserialize(DataInput, List)
.
in
-
java.io.IOException
public void deserialize(java.io.InputStream in, java.lang.Object obj) throws java.io.IOException
deserialize(DataInput, List)
.
in
- obj
- a valid object
java.io.IOException
public java.lang.Object deserialize(java.io.File file) throws java.io.IOException
file
- source file
java.io.IOException
public void deserialize(java.io.File file, java.lang.Object obj) throws java.io.IOException
file
- source fileobj
- a dst valid object
java.io.IOException
public java.lang.Object deserialize(byte[] data) throws java.io.IOException
data
-
java.io.IOException
public void deserialize(byte[] data, java.lang.Object obj) throws java.io.IOException
data
- obj
- dst valid object
java.io.IOException
public abstract void skip(java.io.DataInput in, java.util.List<java.lang.Object> identities) throws java.io.IOException
in
- identities
-
java.io.IOException
public abstract void skip(java.io.DataInput in) throws java.io.IOException
java.io.IOException
public void skip(java.io.InputStream in) throws java.io.IOException
in
-
java.io.IOException
public abstract java.lang.Integer getConstantSize()
public abstract int getSize(java.lang.Object obj, gnu.trove.TObjectIntHashMap<java.lang.Object> identities) throws java.io.IOException
obj
- identities
- thread local empty hash map
java.io.IOException
public abstract int getSize(java.lang.Object obj) throws java.io.IOException
java.io.IOException
public abstract int getMinSize()
public byte[] serialize(java.lang.Object obj) throws java.io.IOException
obj
-
java.io.IOException
public void serialize(java.lang.Object obj, java.io.OutputStream out) throws java.io.IOException
obj
- out
-
java.io.IOException
public void serialize(java.lang.Object obj, java.io.File file) throws java.io.IOException
Files
for convenience. Variant objects are, by
nature, .dbb compatible.
obj
- file
-
java.io.IOException
public java.io.InputStream getInputStream(java.lang.Object obj) throws java.io.IOException
obj
-
java.io.IOException
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |