Top Description Fields Constructors Methods
org.jooq

pack-priv final Class FilenameComparator

extends Object
implements Comparator<String>
Class Inheritance
All Implemented Interfaces
java.util.Comparator
Imports
java.math.BigInteger, java.util.Comparator, java.util.regex.Pattern

A comparator that compares file names semantically, just like the Windows Explorer.

Desired semantic ordering:

version-1
version-2
version-10

Undesired, lexicographic ordering:

version-1
version-10
version-2
Author
Lukas Eder

Field Summary

Modifier and TypeField and Description
public static final FilenameComparator
private static final Pattern

Constructor Summary

AccessConstructor and Description
pack-priv

Method Summary

Modifier and TypeMethod and Description
public final int
compare(String
the first object to be compared.
o1
,
String
the second object to be compared.
o2
)

Implements java.util.Comparator.compare.

Compares its two arguments for order.
Inherited from java.lang.Object:
cloneequalsfinalizegetClasshashCodenotifynotifyAlltoStringwaitwaitwait

Field Detail

INSTANCEback to summary
public static final FilenameComparator INSTANCE
NUMBERSback to summary
private static final Pattern NUMBERS

Constructor Detail

FilenameComparatorback to summary
pack-priv FilenameComparator()

Method Detail

compareback to summary
public final int compare(String o1, String o2)

Implements java.util.Comparator.compare.

Doc from java.util.Comparator.compare.

Compares its two arguments for order. Returns a negative integer, zero, or a positive integer as the first argument is less than, equal to, or greater than the second.

The implementor must ensure that signum(compare(x, y)) == -signum(compare(y, x)) for all x and y. (This implies that compare(x, y) must throw an exception if and only if compare(y, x) throws an exception.)

The implementor must also ensure that the relation is transitive: ((compare(x, y)>0) && (compare(y, z)>0)) implies compare(x, z)>0.

Finally, the implementor must ensure that compare(x, y)==0 implies that signum(compare(x, z))==signum(compare(y, z)) for all z.

Parameters
o1:String

the first object to be compared.

o2:String

the second object to be compared.

Returns:int

a negative integer, zero, or a positive integer as the first argument is less than, equal to, or greater than the second.

Annotations
@Override