Class VersionRange

  • All Implemented Interfaces:
    java.io.Serializable

    public class VersionRange
    extends java.lang.Object
    implements java.io.Serializable
    See Also:
    Serialized Form
    • Field Detail

      • INFINITE_VERSION

        public static final org.osgi.framework.Version INFINITE_VERSION
      • openFloor

        private final boolean openFloor
      • floor

        private final org.osgi.framework.Version floor
      • ceiling

        private final org.osgi.framework.Version ceiling
      • openCeiling

        private final boolean openCeiling
      • removeable

        private static boolean[] removeable
    • Constructor Detail

      • VersionRange

        public VersionRange​(boolean openFloor,
                            org.osgi.framework.Version floor,
                            org.osgi.framework.Version ceiling,
                            boolean openCeiling)
        Interval constructor
        Parameters:
        openFloor - Whether the lower bound of the range is inclusive (false) or exclusive (true).
        floor - The lower bound version of the range.
        ceiling - The upper bound version of the range.
        openCeiling - Whether the upper bound of the range is inclusive (false) or exclusive (true).
      • VersionRange

        public VersionRange​(org.osgi.framework.Version atLeast)
        atLeast constructor
        Parameters:
        atLeast - Minimum version
      • VersionRange

        public VersionRange​(org.osgi.framework.Version atLeast,
                            boolean exact)
        atLeast constructor
        Parameters:
        atLeast - Minimum version
        exact - Exact range
      • VersionRange

        public VersionRange​(java.lang.String val)
                     throws java.lang.IllegalArgumentException,
                            java.lang.NumberFormatException
        Throws:
        java.lang.IllegalArgumentException
        java.lang.NumberFormatException
      • VersionRange

        public VersionRange​(java.lang.String val,
                            boolean exact)
                     throws java.lang.IllegalArgumentException,
                            java.lang.NumberFormatException
        Throws:
        java.lang.IllegalArgumentException
        java.lang.NumberFormatException
      • VersionRange

        public VersionRange​(java.lang.String val,
                            boolean exact,
                            boolean clean)
                     throws java.lang.IllegalArgumentException,
                            java.lang.NumberFormatException
        Throws:
        java.lang.IllegalArgumentException
        java.lang.NumberFormatException
    • Method Detail

      • removeQuotesAndWhitespaces

        private java.lang.String removeQuotesAndWhitespaces​(java.lang.String val)
      • isRemoveable

        private boolean isRemoveable​(char ch)
      • parseVersionRange

        public static VersionRange parseVersionRange​(java.lang.String val)
                                              throws java.lang.IllegalArgumentException,
                                                     java.lang.NumberFormatException
        Throws:
        java.lang.IllegalArgumentException
        java.lang.NumberFormatException
      • getCeiling

        public org.osgi.framework.Version getCeiling()
      • getFloor

        public org.osgi.framework.Version getFloor()
      • isOpenCeiling

        public boolean isOpenCeiling()
      • isOpenFloor

        public boolean isOpenFloor()
      • isPointVersion

        public boolean isPointVersion()
      • contains

        public boolean contains​(org.osgi.framework.Version version)
        test a version to see if it falls in the range
        Parameters:
        version - The version to check
        Returns:
        Whether the version is within the range
      • isRangeValid

        private static boolean isRangeValid​(boolean openFloor,
                                            org.osgi.framework.Version floor,
                                            org.osgi.framework.Version ceiling,
                                            boolean openCeiling)
        Check if the supplied parameters describe a valid version range.
        Parameters:
        floor - the minimum version.
        openFloor - whether the minimum version is exclusive.
        ceiling - the maximum version.
        openCeiling - whether the maximum version is exclusive.
        Returns:
        true is the range is valid; otherwise false.
      • checkRange

        private void checkRange()
      • hashCode

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

        public boolean equals​(java.lang.Object obj)
        Overrides:
        equals in class java.lang.Object
      • toString

        public java.lang.String toString()
        Overrides:
        toString in class java.lang.Object
      • makeString

        private java.lang.String makeString​(boolean openFloor,
                                            org.osgi.framework.Version floor,
                                            org.osgi.framework.Version ceiling,
                                            boolean openCeiling)
      • newInstance

        public static VersionRange newInstance​(org.osgi.framework.Version pointVersion,
                                               int lowerBoundRule,
                                               int upperBoundRule)