Package tigase.util

## Class Version

- java.lang.Object
- - tigase.util.Version

- All Implemented Interfaces:
    `java.lang.Comparable<Version>`

      public class Version
      extends java.lang.Object
      implements java.lang.Comparable<Version>

- - ### Nested Class Summary

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

  - ### Field Summary

    Fields
    Modifier and Type | Field | Description
    --- | --- | ---
    `static java.util.EnumSet<Version.FIELD>` | `incrementableFields` |
    `static java.util.Comparator<Version>` | `VERSION_COMPARATOR` |
    `static Version` | `ZERO` |

  - ### Method Summary

    All Methods Static Methods Instance Methods Concrete Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `int` | `compareTo​(Version that)` |
    `boolean` | `equals​(java.lang.Object o)` |
    `Version` | `getBaseVersion()` |
    `int` | `getBugfix()` |
    `int` | `getBuild()` |
    `java.lang.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​(java.lang.String str)` | Supports both tigase-server-7.2.0-SNAPSHOT-b4895-dist-max.tar.gz and version strings
    `java.lang.String` | `toString()` |
    `java.lang.String` | `toString​(int padding)` |

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

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

- - ### Field Detail

    - #### incrementableFields

          public static final java.util.EnumSet<Version.FIELD> incrementableFields

    - #### VERSION_COMPARATOR

          public static final java.util.Comparator<Version> VERSION_COMPARATOR

    - #### ZERO

          public static final Version ZERO

  - ### Method Detail

    - #### of

          public static Version of​(java.lang.String str)
                            throws java.lang.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:
        `java.lang.IllegalArgumentException` - when provided input doesn't match supported formats

    - #### compareTo

          public int compareTo​(Version that)

      Specified by:
        `compareTo` in interface `java.lang.Comparable<Version>`

    - #### equals

          public boolean equals​(java.lang.Object o)

      Overrides:
        `equals` in class `java.lang.Object`

    - #### getBaseVersion

          public Version getBaseVersion()

    - #### getBugfix

          public int getBugfix()

    - #### getBuild

          public int getBuild()

    - #### getCommit

          public java.lang.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 `java.lang.Object`

    - #### increment

          public Version increment​(Version.FIELD field,
                                   int amount)
                            throws java.lang.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:
        `java.lang.IllegalArgumentException`

    - #### isZero

          public boolean isZero()

    - #### toString

          public java.lang.String toString()

      Overrides:
        `toString` in class `java.lang.Object`

    - #### toString

          public java.lang.String toString​(int padding)