Class VersionNumber

  • All Implemented Interfaces:

    public class VersionNumber
    extends Object
    implements Comparable<VersionNumber>
    Immutable representation of a version number based on the Mercury version numbering scheme. VersionNumbers are Comparable.

    Special tokens

    We allow a component to be not just a number, but also "ea", "ea1", "ea2". "ea" is treated as "ea0", and eaN < M for any M < 0.

    '*' is also allowed as a component, and '*' < M for any M < 0.

    'SNAPSHOT' is also allowed as a component, and "N.SNAPSHOT" is interpreted as "N-1.*"

     2.0.* < 2.0.1 < 2.0.1-SNAPSHOT < < 2.0.0 < 2.0.ea < 2.0
    This class is re-implemented in 1.415. The class was originally introduced in 1.139
    Stephen Connolly (, Kenney Westerhof (, Hervé Boutemy (
    • Constructor Detail

      • VersionNumber

        public VersionNumber​(String version)
    • Method Detail

      • hashCode

        public int hashCode()
        hashCode in class Object
      • isOlderThan

        public boolean isOlderThan​(VersionNumber rhs)
      • isNewerThan

        public boolean isNewerThan​(VersionNumber rhs)
      • isOlderThanOrEqualTo

        public boolean isOlderThanOrEqualTo​(VersionNumber rhs)
      • isNewerThanOrEqualTo

        public boolean isNewerThanOrEqualTo​(VersionNumber rhs)
      • getDigitAt

        public int getDigitAt​(int idx)
        Returns a digit (numeric component) by its position. Once a non-numeric component is found all remaining components are also considered non-numeric by this method.
        idx - Digit position we want to retrieve starting by 0.
        The digit or -1 in case the position does not correspond with a digit.