StringEncoderComparatorpublic class StringEncoderComparator extends Object implements ComparatorStrings are comparable, and this comparator allows
you to configure it with an instance of a class
which implements StringEncoder. This comparator
is used to sort Strings by an encoding scheme such
as Soundex, Metaphone, etc. This class can come in
handy if one need to sort Strings by an encoded
form of a name such as Soundex. |
Fields Summary |
---|
private StringEncoder | stringEncoderInternal encoder instance. |
Constructors Summary |
---|
public StringEncoderComparator()Constructs a new instance.
// no init.
| public StringEncoderComparator(StringEncoder stringEncoder)Constructs a new instance with the given algorithm.
this.stringEncoder = stringEncoder;
|
Methods Summary |
---|
public int | compare(java.lang.Object o1, java.lang.Object o2)Compares two strings based not on the strings
themselves, but on an encoding of the two
strings using the StringEncoder this Comparator
was created with.
If an {@link EncoderException} is encountered, return 0 .
int compareCode = 0;
try {
Comparable s1 = (Comparable) ((Encoder) this.stringEncoder).encode(o1);
Comparable s2 = (Comparable) ((Encoder) this.stringEncoder).encode(o2);
compareCode = s1.compareTo(s2);
}
catch (EncoderException ee) {
compareCode = 0;
}
return compareCode;
|
|