org.simantics.databoard.serialization
Class Serializer.NonRecursiveSerializer

java.lang.Object
  extended by org.simantics.databoard.serialization.Serializer
      extended by org.simantics.databoard.serialization.Serializer.NonRecursiveSerializer
Direct Known Subclasses:
BinarySerializationFormat.BooleanArraySerializer, BinarySerializationFormat.BooleanSerializer, BinarySerializationFormat.ByteArraySerializer, BinarySerializationFormat.ByteSerializer, BinarySerializationFormat.DoubleArraySerializer, BinarySerializationFormat.DoubleSerializer, BinarySerializationFormat.FloatArraySerializer, BinarySerializationFormat.FloatSerializer, BinarySerializationFormat.IntArraySerializer, BinarySerializationFormat.IntSerializer, BinarySerializationFormat.LongArraySerializer, BinarySerializationFormat.LongSerializer, BinarySerializationFormat.StringSerializer
Enclosing class:
Serializer

public abstract static class Serializer.NonRecursiveSerializer
extends Serializer

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(BinaryReadable in, java.util.List<java.lang.Object> identities)
          Deserialize an object from a readable.
 int getSize(java.lang.Object obj, gnu.trove.TObjectIntHashMap<java.lang.Object> identities)
           
 void serialize(BinaryWriteable out, gnu.trove.TObjectIntHashMap<java.lang.Object> identities, java.lang.Object obj)
          Serialize obj to out.
 void skip(BinaryReadable 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, getConstantSize, getInputStream, getSize, postConstruction, serialize, serialize, serialize, serialize, skip, skip
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

Serializer.NonRecursiveSerializer

public Serializer.NonRecursiveSerializer()
Method Detail

serialize

public void serialize(BinaryWriteable out,
                      gnu.trove.TObjectIntHashMap<java.lang.Object> identities,
                      java.lang.Object obj)
               throws SerializationException,
                      java.io.IOException,
                      BindingException
Description copied from class: Serializer
Serialize obj to out. The identities argument is a map of identities (in the binary block) and objects that have already been serialized. Once serialized, an object is added to the map. Typically an empty map is provided. If the type has no recursion, a null value can be provided.

Specified by:
serialize in class Serializer
identities - Thread local empty map or null if there is no recursion
Throws:
java.io.IOException
BindingException
SerializationException

deserialize

public java.lang.Object deserialize(BinaryReadable in,
                                    java.util.List<java.lang.Object> identities)
                             throws SerializationException,
                                    java.io.IOException,
                                    BindingException
Description copied from class: Serializer
Deserialize an object from a readable. The identities argument is a list of identities (in the binary block) of objects that have already been deserialized. Once deserialized they are added to the list. Typically an empty list is provided. If the type has no recursion, a null value can be provided.

Specified by:
deserialize in class Serializer
identities - empty identities array or null if there is no recursion
Returns:
the instance
Throws:
SerializationException
java.io.IOException
BindingException - Could not bind the data into an object

skip

public void skip(BinaryReadable in,
                 java.util.List<java.lang.Object> identities)
          throws SerializationException,
                 java.io.IOException
Description copied from class: Serializer
Skip over an object in a stream. This method deserializes the object without producing a result or reading thru all bytes.

Specified by:
skip in class Serializer
Throws:
SerializationException
java.io.IOException

getSize

public int getSize(java.lang.Object obj,
                   gnu.trove.TObjectIntHashMap<java.lang.Object> identities)
            throws SerializationException,
                   BindingException
Specified by:
getSize in class Serializer
identities - thread local empty hash map
Returns:
number of bytes required to serialize obj
Throws:
SerializationException
BindingException