Package tigase.util

# Class Version

java.lang.Object
tigase.util.Version

All Implemented Interfaces:
  `Comparable<Version>`

public class Version extends Object implements Comparable<Version>

- ## Nested Class Summary

  Nested Classes
  Modifier and Type
  Class
  Description
  `static class`
  `Version.Builder`
  `static enum`
  `Version.FIELD`
  `static enum`
  `Version.TYPE`

- ## Field Summary

  Fields
  Modifier and Type
  Field
  Description
  `static final EnumSet<Version.FIELD>`
  `incrementableFields`
  `static final Comparator<Version>`
  `VERSION_COMPARATOR`
  `static final Version`
  `ZERO`

- ## Method Summary

  Modifier and Type
  Method
  Description
  `int`
  `compareTo(Version that)`
  `boolean`
  `equals(Object o)`
  `Version`
  `getBaseVersion()`
  `int`
  `getBugfix()`
  `int`
  `getBuild()`
  `String`
  `getCommit()`
  `int`
  `getMajor()`
  `int`
  `getMinor()`
  `int`
  `getTypeNumber()`
  `Version.TYPE`
  `getVersionType()`
  `int`
  `hashCode()`
  `Version`
  `increment(Version.FIELD field, int amount)`
  Method increments given field by the specified amount
  `boolean`
  `isZero()`
  `static Version`
  `of(String str)`
  Supports both tigase-server-7.2.0-SNAPSHOT-b4895-dist-max.tar.gz and version strings
  `String`
  `toString()`
  `String`
  `toString(int padding)`

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

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

- ## Field Details

  - ### incrementableFields

    public static final EnumSet<Version.FIELD> incrementableFields

  - ### VERSION_COMPARATOR

    public static final Comparator<Version> VERSION_COMPARATOR

  - ### ZERO

    public static final Version ZERO

- ## Method Details

  - ### of

    public static Version of(String str) throws IllegalArgumentException
    Supports both tigase-server-7.2.0-SNAPSHOT-b4895-dist-max.tar.gz and version strings
    Parameters:
      `str` - string to be parsed. Must match the supported formats
    Returns:
      a Version object based on the provided string.
    Throws:
      `IllegalArgumentException` - when provided input doesn't match supported formats

  - ### compareTo

    public int compareTo(Version that)
    Specified by:
      `compareTo` in interface `Comparable<Version>`

  - ### equals

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

  - ### getBaseVersion

    public Version getBaseVersion()

  - ### getBugfix

    public int getBugfix()

  - ### getBuild

    public int getBuild()

  - ### getCommit

    public String getCommit()

  - ### getMajor

    public int getMajor()

  - ### getMinor

    public int getMinor()

  - ### getTypeNumber

    public int getTypeNumber()

  - ### getVersionType

    public Version.TYPE getVersionType()

  - ### hashCode

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

  - ### increment

    public Version increment(Version.FIELD field, int amount) throws IllegalArgumentException
    Method increments given field by the specified amount
    Parameters:
      `field` - to be incremented - only incrementable fields are supported, i.e. any of the `incrementableFields`.
      `amount` - by which version should be incremented
    Returns:
      incremented version if correct field was passed as argument, otherwise same non-incremented version is returned.
    Throws:
      `IllegalArgumentException`

  - ### isZero

    public boolean isZero()

  - ### toString

    public String toString()
    Overrides:
      `toString` in class `Object`

  - ### toString

    public String toString(int padding)