org.apache.commons.codec
Class StringEncoderComparator

java.lang.Object
  extended by org.apache.commons.codec.StringEncoderComparator
All Implemented Interfaces:
Comparator

public class StringEncoderComparator
extends Object
implements Comparator

Compares Strings using a 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.

This class is immutable and thread-safe.

Version:
$Id: StringEncoderComparator.java 1468177 2013-04-15 18:35:15Z ggregory $

Field Summary
private  StringEncoder stringEncoder
          Internal encoder instance.
 
Constructor Summary
StringEncoderComparator()
          Deprecated. Creating an instance without a StringEncoder leads to a NullPointerException. Will be removed in 2.0.
StringEncoderComparator(StringEncoder stringEncoder)
          Constructs a new instance with the given algorithm.
 
Method Summary
 int compare(Object o1, 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.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface java.util.Comparator
equals
 

Field Detail

stringEncoder

private final StringEncoder stringEncoder
Internal encoder instance.

Constructor Detail

StringEncoderComparator

@Deprecated
public StringEncoderComparator()
Deprecated. Creating an instance without a StringEncoder leads to a NullPointerException. Will be removed in 2.0.

Constructs a new instance.


StringEncoderComparator

public StringEncoderComparator(StringEncoder stringEncoder)
Constructs a new instance with the given algorithm.

Parameters:
stringEncoder - the StringEncoder used for comparisons.
Method Detail

compare

public int compare(Object o1,
                   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 EncoderException is encountered, return 0.

Specified by:
compare in interface Comparator
Parameters:
o1 - the object to compare
o2 - the object to compare to
Returns:
the Comparable.compareTo() return code or 0 if an encoding error was caught.
See Also:
Comparable


commons-codec version 1.8 - Copyright © 2002-2013 - Apache Software Foundation