Class ElsaSerializerBase.Deserializer<A>

java.lang.Object
org.mapdb.elsa.ElsaSerializerBase.Deserializer<A>
Type Parameters:
A - type of value this deserializer handles
Direct Known Subclasses:
ElsaSerializerBase.DeserInt, ElsaSerializerBase.DeserLong, ElsaSerializerBase.DeserSingleton, ElsaSerializerBase.DeserStringLen
Enclosing class:
ElsaSerializerBase

public abstract static class ElsaSerializerBase.Deserializer<A> extends Object
Interface internally used by Elsa to deserialize concrete Header Byte. Internally Elsa uses Map<Header Byte, Deserializer> to decide what deserializer to use for each binary element. User can register their own Deserializers with ElsaMaker#registerDeserializer(int, Deserializer)
  • Constructor Details

    • Deserializer

      public Deserializer()
  • Method Details

    • deserialize

      public abstract A deserialize(DataInput in, ElsaStack objectStack) throws IOException
      Deserialize the content of an object from a DataInput.
      Parameters:
      in - to read serialized data from
      objectStack - object stack used to handle backward references
      Returns:
      deserialized object
      Throws:
      IOException - from underlying stream
    • needsObjectStack

      public boolean needsObjectStack()
      Returns:
      true if this deserializers uses recursion to serialize subelements (is collection, array...)