Utils.Version (Apache Hadoop Common 3.5.0 API)
Description: declaration: package: org.apache.hadoop.io.file.tfile, class: Utils, class: Version

Package org.apache.hadoop.io.file.tfile

# Class Utils.Version

java.lang.Object
org.apache.hadoop.io.file.tfile.Utils.Version

All Implemented Interfaces:
  `Comparable<Utils.Version>`

Enclosing class:
  Utils

public static final class Utils.Version extends Object implements Comparable<Utils.Version>
A generic Version class. We suggest applications built on top of TFile use this class to maintain version information in their meta blocks. A version number consists of a major version and a minor version. The suggested usage of major and minor version number is to increment major version number when the new storage format is not backward compatible, and increment the minor version otherwise.

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `Version(short major, short minor)`
  Constructor.
  `Version(DataInput in)`
  Construct the Version object by reading from the input stream.

- ## Method Summary

  Modifier and Type
  Method
  Description
  `int`
  `compareTo(Utils.Version that)`
  Compare this version with another version.
  `boolean`
  `compatibleWith(Utils.Version other)`
  Test compatibility.
  `boolean`
  `equals(Object other)`
  `int`
  `getMajor()`
  Get the major version.
  `int`
  `getMinor()`
  Get the minor version.
  `int`
  `hashCode()`
  `static int`
  `size()`
  Get the size of the serialized Version object.
  `String`
  `toString()`
  Return a string representation of the version.
  `void`
  `write(DataOutput out)`
  Write the objec to a DataOutput.

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

  `clone, finalize, getClass, notify, notifyAll, wait, wait, wait`

- ## Constructor Details

  - ### Version

    public Version(DataInput in) throws IOException
    Construct the Version object by reading from the input stream.
    Parameters:
      `in` - input stream
    Throws:
      `IOException` - raised on errors performing I/O.

  - ### Version

    public Version(short major, short minor)
    Constructor.
    Parameters:
      `major` - major version.
      `minor` - minor version.

- ## Method Details

  - ### write

    public void write(DataOutput out) throws IOException
    Write the objec to a DataOutput. The serialized format of the Version is major version followed by minor version, both as big-endian short integers.
    Parameters:
      `out` - The DataOutput object.
    Throws:
      `IOException` - raised on errors performing I/O.

  - ### getMajor

    public int getMajor()
    Get the major version.
    Returns:
      Major version.

  - ### getMinor

    public int getMinor()
    Get the minor version.
    Returns:
      The minor version.

  - ### size

    public static int size()
    Get the size of the serialized Version object.
    Returns:
      serialized size of the version object.

  - ### toString

    public String toString()
    Return a string representation of the version.
    Overrides:
      `toString` in class `Object`

  - ### compatibleWith

    public boolean compatibleWith(Utils.Version other)
    Test compatibility.
    Parameters:
      `other` - The Version object to test compatibility with.
    Returns:
      true if both versions have the same major version number; false otherwise.

  - ### compareTo

    public int compareTo(Utils.Version that)
    Compare this version with another version.
    Specified by:
      `compareTo` in interface `Comparable<Utils.Version>`

  - ### equals

    public boolean equals(Object other)
    Overrides:
      `equals` in class `Object`

  - ### hashCode

    public int hashCode()
    Overrides:
      `hashCode` in class `Object`