Class VersionRange

java.lang.Object
org.eclipse.equinox.p2.metadata.VersionRange
All Implemented Interfaces:
Serializable

public class VersionRange extends Object implements Serializable
This class represents a version range with Omni Version bounds. It is signature equivalent with the OSGi org.eclipse.osgi.service.resolver.VersionRange
Since:
2.0
See Also:
Restriction:
This class is not intended to be subclassed by clients.
  • Field Details

    • emptyRange

      public static final VersionRange emptyRange
      TODO: This should not be OSGi but it has to be that for now since the resolver creates a filter where the min and max are converted into strings. When the filter is evaluated an attempt is made to recreate them as OSGi versions. An empty OSGi Version range.
  • Constructor Details

    • VersionRange

      public VersionRange(Version minVersion, boolean includeMin, Version maxVersion, boolean includeMax)
      Constructs a VersionRange with the specified minVersion and maxVersion.
      Parameters:
      minVersion - the minimum version of the range
      maxVersion - the maximum version of the range
    • VersionRange

      public VersionRange(String versionRange)
      Constructs a VersionRange from the given versionRange String.
      Parameters:
      versionRange - a version range String that specifies a range of versions.
  • Method Details

    • create

      public static VersionRange create(String versionRange)
      Parses a version range from the specified string.

      Note that this method performs a non thread-safe object pooling. Instances are stored in a weak cache, i.e. for multiple calls with the same input it is likely but not guaranteed that the same instance is retrieved. Same holds for concurrent access on this method. Clients must not assume to get the same instance for subsequent calls.

      Parameters:
      versionRange - String representation of the version range. Leading and trailing whitespace will be ignored.
      Returns:
      A VersionRange object representing the version range or null if versionRange is null or an empty string.
      Throws:
      IllegalArgumentException - If versionRange is improperly formatted.
      Since:
      2.4
    • getFormat

      public IVersionFormat getFormat()
      Returns the version format.
    • getMinimum

      public Version getMinimum()
      Returns the minimum Version of this VersionRange
      Returns:
      the minimum Version of this VersionRange
    • getIncludeMinimum

      public boolean getIncludeMinimum()
      Indicates if the minimum version is included in the version range.
      Returns:
      true if the minimum version is included in the version range; otherwise false is returned
    • getMaximum

      public Version getMaximum()
      Returns the maximum Version of this VersionRange
      Returns:
      the maximum Version of this VersionRange
    • getIncludeMaximum

      public boolean getIncludeMaximum()
      Indicates if the maximum version is included in the version range.
      Returns:
      true if the maximum version is included in the version range; otherwise false is returned
    • intersect

      public VersionRange intersect(VersionRange r2)
    • isIncluded

      public boolean isIncluded(Version version)
      Returns whether the given version is included in this VersionRange. This will depend on the minimum and maximum versions of this VersionRange and the given version.
      Parameters:
      version - a version to be tested for inclusion in this VersionRange. (may be null)
      Returns:
      true if the version is include, false otherwise
    • isOSGiCompatible

      public boolean isOSGiCompatible()
      Checks if the versions of this range is in compliance with the OSGi version spec.
      Returns:
      A flag indicating whether the range is OSGi compatible or not.
    • equals

      public boolean equals(Object object)
      Overrides:
      equals in class Object
    • hashCode

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

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

      @Deprecated(since="2.9") public void toString(StringBuffer result)
      Deprecated.
    • toString

      public void toString(StringBuilder result)
      Since:
      2.9