Class VersionRange


  • public class VersionRange
    extends Object
    Implements a version range The string representation is either
    • the empty string, which means all versions match
    • or a simple version string consisting of arbitrarily many alphanumeric segments separated by .. Those segments must not include a ,. This means everything from the given version will match (i.e. upper bound unlimited).
    • or a real range in the form '['|'('<lowerBound>,(<upperBound>']'|')'), where [] means inclusive and () means exclusive bounds. Both the lowerBound and upperBound must follow the grammar from the simple version string.
    Since:
    2.0
    • Field Detail

      • INFINITE

        public static final VersionRange INFINITE
        Infinite (covers all) range.
    • Constructor Detail

      • VersionRange

        public VersionRange​(Version low,
                            boolean lowIncl,
                            Version high,
                            boolean highIncl)
        Creates a new version range.
        Parameters:
        low - lower bound or null
        lowIncl - specifies if lower bound is inclusive
        high - upper bound or null
        highIncl - specifies if upper bound is inclusive
        Throws:
        IllegalArgumentException - if bounds are not valid
      • VersionRange

        public VersionRange​(Version v)
        Creates a new version range that exactly includes the given version.
        Parameters:
        v - the version.
    • Method Detail

      • getLow

        public Version getLow()
        Returns the lower bound
        Returns:
        the lower bound or null
      • isLowInclusive

        public boolean isLowInclusive()
        Returns true if the lower bound is inclusive
        Returns:
        true if the lower bound is inclusive
      • getHigh

        public Version getHigh()
        Returns the upper bound
        Returns:
        the upper bound or null
      • isHighInclusive

        public boolean isHighInclusive()
        Returns true if the upper bound is inclusive
        Returns:
        true if the upper bound is inclusive
      • hashCode

        public int hashCode()
        Overrides:
        hashCode in class Object
      • isInRange

        public boolean isInRange​(Version v)
        Checks if the given version is in this range.
        Parameters:
        v - the version to check
        Returns:
        true if the given version is in this range.
      • fromString

        public static VersionRange fromString​(String str)
        Creates a range from a string
        Parameters:
        str - string
        Returns:
        the version range