cakoose.util.text
Class VersionComparator

java.lang.Object
  extended by cakoose.util.text.VersionComparator

public final class VersionComparator
extends Object

Compares strings that contain embedded numbers (like version numbers). Performs numeric comparisons on spans of digits and raw comparisons on everything else. Examples: - "1.2" < "1.10.3" - "page2" < "page10" - "page" < "page0" There are two comparison modes. In "loose" mode, leading zeros in digit spans are ignored. In "strict" mode, leading zeros are significant ("1" < "01"). Relationships: - String.equals [equivalent] equalsStrict - String.equals [implies] equalsLoose - IF (compareLoose != 0) THEN compareLoose == compareStrict The standard relationship between "compare" and "equals" equals holds. These comparison functions are around 10-50 times slower than String.compareTo(...).


Field Summary
static Comparator<String> Loose
          Use this when you need a java.util.Comparator that performs loose version comparisons.
static Comparator<String> Strict
          Use this when you need a java.util.Comparator that performs strict version comparisons.
 
Method Summary
static int compareLoose(String a, String b)
           
static int compareStrict(String a, String b)
           
static boolean equalsLoose(String a, String b)
           
static boolean equalsStrict(String a, String b)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

Loose

public static final Comparator<String> Loose
Use this when you need a java.util.Comparator that performs loose version comparisons.


Strict

public static final Comparator<String> Strict
Use this when you need a java.util.Comparator that performs strict version comparisons.

Method Detail

equalsLoose

public static boolean equalsLoose(String a,
                                  String b)

compareLoose

public static int compareLoose(String a,
                               String b)

equalsStrict

public static boolean equalsStrict(String a,
                                   String b)

compareStrict

public static int compareStrict(String a,
                                String b)