Class PackageVersion

java.lang.Object
net.sf.saxon.style.PackageVersion
All Implemented Interfaces:
Comparable<PackageVersion>

public class PackageVersion extends Object implements Comparable<PackageVersion>
A class to represent an XSLT package version such as 1.12.5 or 3.0-alpha

This implements the semantics given in http://www.w3.org/TR/xslt-30/#package-versions, where a series of dot-separated integers may be followed optionally by '-'NCName

  • Field Details

  • Constructor Details

    • PackageVersion

      public PackageVersion(int[] values)
      Return a package version defined by a fixed sequence of int values, which implies no suffix
      Parameters:
      values - the sequence of integer components
    • PackageVersion

      public PackageVersion(String s) throws XPathException
      Generate a package version from a string description
      Parameters:
      s - The input string describing the package version according to the grammar given at: http://www.w3.org/TR/xslt-30/#package-versions
      Throws:
      XPathException - if the syntax of the package version is incorrect
  • Method Details

    • parseInteger

      public static int parseInteger(String s) throws XPathException
      Throws:
      XPathException
    • equals

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

      public int hashCode()
      Returns a hash code value for the object.
      Overrides:
      hashCode in class Object
      Returns:
      a hash code value for this object.
    • equalsIgnoringSuffix

      public boolean equalsIgnoringSuffix(PackageVersion other)
      Compare two version numbers for equality, ignoring the suffix part of the version number. For example 2.1-alpha compares equal to 2.1-beta
      Parameters:
      other - the other name/version pair
      Returns:
      true if the values are equal in all respects other than the alphanumeric suffix of the version number.
    • compareTo

      public int compareTo(PackageVersion o)
      Specified by:
      compareTo in interface Comparable<PackageVersion>
    • toString

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

      public boolean isPrefix(PackageVersion v)
      Tests whether this package version is a prefix (i.e. shares all its components in order) of another package version, and thus this version.* should match it.
      Parameters:
      v - The version to be checked that it is equal, or 'extends' this version
      Returns:
      true if this is a prefix, false if not.