Class NormalVersion

  • All Implemented Interfaces:
    java.lang.Comparable<NormalVersion>

    class NormalVersion
    extends java.lang.Object
    implements java.lang.Comparable<NormalVersion>
    The NormalVersion class represents the version core. This class is immutable and hence thread-safe.
    Since:
    0.2.0
    • Field Summary

      Fields 
      Modifier and Type Field Description
      private int major
      The major version number.
      private int minor
      The minor version number.
      private int patch
      The patch version number.
    • Constructor Summary

      Constructors 
      Constructor Description
      NormalVersion​(int major, int minor, int patch)
      Constructs a NormalVersion with the major, minor and patch version numbers.
    • Field Detail

      • major

        private final int major
        The major version number.
      • minor

        private final int minor
        The minor version number.
      • patch

        private final int patch
        The patch version number.
    • Constructor Detail

      • NormalVersion

        NormalVersion​(int major,
                      int minor,
                      int patch)
        Constructs a NormalVersion with the major, minor and patch version numbers.
        Parameters:
        major - the major version number
        minor - the minor version number
        patch - the patch version number
        Throws:
        java.lang.IllegalArgumentException - if one of the version numbers is a negative integer
    • Method Detail

      • getMajor

        int getMajor()
        Returns the major version number.
        Returns:
        the major version number
      • getMinor

        int getMinor()
        Returns the minor version number.
        Returns:
        the minor version number
      • getPatch

        int getPatch()
        Returns the patch version number.
        Returns:
        the patch version number
      • incrementMajor

        NormalVersion incrementMajor()
        Increments the major version number.
        Returns:
        a new instance of the NormalVersion class
      • incrementMinor

        NormalVersion incrementMinor()
        Increments the minor version number.
        Returns:
        a new instance of the NormalVersion class
      • incrementPatch

        NormalVersion incrementPatch()
        Increments the patch version number.
        Returns:
        a new instance of the NormalVersion class
      • compareTo

        public int compareTo​(NormalVersion other)
        Specified by:
        compareTo in interface java.lang.Comparable<NormalVersion>
      • equals

        public boolean equals​(java.lang.Object other)
        Overrides:
        equals in class java.lang.Object
      • hashCode

        public int hashCode()
        Overrides:
        hashCode in class java.lang.Object
      • toString

        public java.lang.String toString()
        Returns the string representation of this normal version. A normal version number MUST take the form X.Y.Z where X, Y, and Z are non-negative integers. X is the major version, Y is the minor version, and Z is the patch version. (SemVer p.2)
        Overrides:
        toString in class java.lang.Object
        Returns:
        the string representation of this normal version