Package hudson.util

Class VersionNumber

  • All Implemented Interfaces:
    Comparable<VersionNumber>
    Direct Known Subclasses:
    JavaSpecificationVersion

    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.*" This class is re-implemented in 1.415. The class was originally introduced in 1.139

    Since:
    1.139
    Author:
    Stephen Connolly (stephenc@apache.org), Kenney Westerhof (kenney@apache.org), Hervé Boutemy (hboutemy@apache.org)
    • Constructor Detail

      • VersionNumber

        public VersionNumber​(String version)
    • Method Detail

      • hashCode

        public int hashCode()
        Overrides:
        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.
        Parameters:
        idx - Digit position we want to retrieve starting by 0.
        Returns:
        The digit or -1 in case the position does not correspond with a digit.