Class PackageVersion

  • All Implemented Interfaces:
    java.lang.Comparable<PackageVersion>

    public class PackageVersion
    extends java.lang.Object
    implements java.lang.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

    • Constructor Detail

      • 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
    • Method Detail

      • equals

        public boolean equals​(java.lang.Object o)
        Overrides:
        equals in class java.lang.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.
      • toString

        public java.lang.String toString()
        Overrides:
        toString in class java.lang.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.