Class Version

java.lang.Object
org.apache.juneau.Version
All Implemented Interfaces:
Comparable<Version>

public class Version extends Object implements Comparable<Version>
Represents a version string such as "1.2" or "1.2.3"

Used to compare version numbers.

See Also:
  • Constructor Details

    • Version

      public Version(String value)
      Constructor
      Parameters:
      value - A string of the form "#.#..." where there can be any number of parts.
      Valid values:
      • "1.2"
      • "1.2.3"
      • "0.1"
      • ".1"
      Any parts that are not numeric are interpreted as Integer.MAX_VALUE
  • Method Details

    • of

      public static Version of(String value)
      Static creator.
      Parameters:
      value - A string of the form "#.#..." where there can be any number of parts.
      Valid values:
      • "1.2"
      • "1.2.3"
      • "0.1"
      • ".1"

      Can be null.
      Returns:
      A new header bean, or null if the value is null.
    • getPart

      public Optional<Integer> getPart(int index)
      Returns the version part at the specified zero-indexed value.
      Parameters:
      index - The index of the version part.
      Returns:
      The version part, never null.
    • getMajor

      Returns the major version part (i.e. part at index 0).
      Returns:
      The version part, never null.
    • getMinor

      Returns the minor version part (i.e. part at index 1).
      Returns:
      The version part, never null.
    • getMaintenance

      Returns the maintenance version part (i.e. part at index 2).
      Returns:
      The version part, never null.
    • isAtLeast

      public boolean isAtLeast(Version v)
      Returns true if the specified version is at least this version.
      Example:

      assertTrue(Version.of("1.2").isAtLeast(Version.of("1"))); assertFalse(Version.of("1.2").isAtLeast(Version.of("2"))); assertTrue(Version.of("1.2").isAtLeast(Version.of("1.2.3"))); assertFalse(Version.of("1.2.0").isAtLeast(Version.of("1.2.3")));

      Parameters:
      v - The version to compare to.
      Returns:
      true if the specified version is at least this version.
    • isAtLeast

      public boolean isAtLeast(Version v, boolean exclusive)
      Returns true if the specified version is at least this version.
      Example:

      assertTrue(Version.of("1.2.3").isAtLeast(Version.of("1.2.3", false))); assertFalse(Version.of("1.2.3").isAtLeast(Version.of("1.2.3", true)));

      Parameters:
      v - The version to compare to.
      exclusive - Match down-to-version but not including.
      Returns:
      true if the specified version is at least this version.
    • isAtMost

      public boolean isAtMost(Version v)
      Returns true if the specified version is at most this version.
      Example:

      assertFalse(Version.of("1.2.3").isAtMost(Version.of("1"))); assertTrue(Version.of("1.2.3").isAtMost(Version.of("2"))); assertTrue(Version.of("1.2.3").isAtMost(Version.of("1.2"))); assertFalse(Version.of("1.2.3").isAtMost(Version.of("1.2.0")));

      Parameters:
      v - The version to compare to.
      Returns:
      true if the specified version is at most this version.
    • isAtMost

      public boolean isAtMost(Version v, boolean exclusive)
      Returns true if the specified version is at most this version.
      Example:

      assertTrue(Version.of("1.2.3").isAtMost(Version.of("1.2.3", false))); assertFalse(Version.of("1.2.3").isAtMost(Version.of("1.2.3", true)));

      Parameters:
      v - The version to compare to.
      exclusive - Match up-to-version but not including.
      Returns:
      true if the specified version is at most this version.
    • equals

      public boolean equals(Version v)
      Returns true if the specified version is equal to this version.
      Example:

      assertTrue(Version.of("1.2.3").isEqualsTo(Version.of("1.2.3"))); assertTrue(Version.of("1.2.3").isEqualsTo(Version.of("1.2")));

      Parameters:
      v - The version to compare to.
      Returns:
      true if the specified version is equal to this version.
    • equals

      public boolean equals(Object o)
      Overrides:
      equals in class Object
    • toString

      public String toString()
      Overrides:
      toString in class Object
    • compareTo

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