VersionedWritable (Apache Hadoop Common 3.5.0 API)
Description: declaration: package: org.apache.hadoop.io, class: VersionedWritable

Package org.apache.hadoop.io

# Class VersionedWritable

java.lang.Object
org.apache.hadoop.io.VersionedWritable

All Implemented Interfaces:
  `Writable`

@Public @Stable public abstract class VersionedWritable extends Object implements Writable
A base class for Writables that provides version checking.

This is useful when a class may evolve, so that instances written by the old version of the class may still be processed by the new version. To handle this situation, `readFields(DataInput)` implementations should catch `VersionMismatchException`.

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `VersionedWritable()`

- ## Method Summary

  Modifier and Type
  Method
  Description
  `abstract byte`
  `getVersion()`
  `void`
  `readFields(DataInput in)`
  Deserialize the fields of this object from `in`.
  `void`
  `write(DataOutput out)`
  Serialize the fields of this object to `out`.

  ### Methods inherited from class java.lang.Object

  `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- ## Constructor Details

  - ### VersionedWritable

    public VersionedWritable()

- ## Method Details

  - ### getVersion

    public abstract byte getVersion()
    Returns:
      Return the version number of the current implementation.

  - ### write

    public void write(DataOutput out) throws IOException
    Description copied from interface: `Writable`
    Serialize the fields of this object to `out`.
    Specified by:
      `write` in interface `Writable`
    Parameters:
      `out` - `DataOuput` to serialize this object into.
    Throws:
      `IOException` - any other problem for write.

  - ### readFields

    public void readFields(DataInput in) throws IOException
    Description copied from interface: `Writable`
    Deserialize the fields of this object from `in`.

    For efficiency, implementations should attempt to re-use storage in the existing object where possible.

    Specified by:
      `readFields` in interface `Writable`
    Parameters:
      `in` - `DataInput` to deseriablize this object from.
    Throws:
      `IOException` - any other problem for readFields.