Class ComparableVersion

  • All Implemented Interfaces:
    Comparable<ComparableVersion>

    @Typed
    public class ComparableVersion
    extends Object
    implements Comparable<ComparableVersion>

    Generic implementation of version comparison.

    Features:

    • mixing of '-' (hyphen) and '.' (dot) separators,
    • transition between characters and digits also constitutes a separator: 1.0alpha1 => [1, 0, alpha, 1]
    • unlimited number of version components,
    • version components in the text can be digits or strings,
    • strings are checked for well-known qualifiers and the qualifier ordering is used for version ordering. Well-known qualifiers (case insensitive) are:
      • alpha or a
      • beta or b
      • milestone or m
      • rc or cr
      • snapshot
      • (the empty string) or ga or final
      • sp
      Unknown qualifiers are considered after known qualifiers, with lexical order (always case insensitive),
    • a hyphen usually precedes a qualifier, and is always less important than something preceded with a dot.
    Since:
    1.0.0
    Author:
    Kenney Westerhof, Hervé Boutemy
    See Also:
    "Versioning" on Maven Wiki, source:, ComparableVersion.java
    • Constructor Detail

      • ComparableVersion

        public ComparableVersion​(String version)
        Constructor for ComparableVersion.
        Parameters:
        version - version