Interface Deserializer<T>

Type Parameters:
T - generic type.

@LimitedPrivate({"HDFS","MapReduce"}) @Evolving public interface Deserializer<T>

Provides a facility for deserializing objects of type <T> from an InputStream.

Deserializers are stateful, but must not buffer the input since other producers may read from the input between calls to deserialize(Object).

  • Method Summary

    Modifier and Type
    Method
    Description
    void
    Close the underlying input stream and clear up any resources.
    Deserialize the next object from the underlying input stream.
    void
    Prepare the deserializer for reading.
  • Method Details

    • open

      void open(InputStream in) throws IOException

      Prepare the deserializer for reading.

      Parameters:
      in - input stream.
      Throws:
      IOException - raised on errors performing I/O.
    • deserialize

      T deserialize(T t) throws IOException

      Deserialize the next object from the underlying input stream. If the object t is non-null then this deserializer may set its internal state to the next object read from the input stream. Otherwise, if the object t is null a new deserialized object will be created.

      Parameters:
      t - t.
      Returns:
      the deserialized object
      Throws:
      IOException - raised on errors performing I/O.
    • close

      void close() throws IOException

      Close the underlying input stream and clear up any resources.

      Throws:
      IOException - raised on errors performing I/O.