public class DoubleMetaphone extends Object implements StringEncoder
This class is conditionally thread-safe. The instance field maxCodeLen
is mutable
setMaxCodeLen(int)
but is not volatile, and accesses are not synchronized. If an instance of the class is
shared between threads, the caller needs to ensure that suitable synchronization is used to ensure safe publication
of the value between threads, and must not invoke setMaxCodeLen(int)
after initial setup.
Modifier and Type | Class and Description |
---|---|
class |
DoubleMetaphone.DoubleMetaphoneResult
Inner class for storing results, since there is the optional alternate encoding.
|
Constructor and Description |
---|
DoubleMetaphone()
Creates an instance of this DoubleMetaphone encoder
|
Modifier and Type | Method and Description |
---|---|
protected char |
charAt(String value,
int index) |
protected static boolean |
contains(String value,
int start,
int length,
String... criteria) |
String |
doubleMetaphone(String value)
Encode a value with Double Metaphone.
|
String |
doubleMetaphone(String value,
boolean alternate)
Encode a value with Double Metaphone, optionally using the alternate encoding.
|
Object |
encode(Object obj)
Encode the value using DoubleMetaphone.
|
String |
encode(String value)
Encode the value using DoubleMetaphone.
|
int |
getMaxCodeLen()
Returns the maxCodeLen.
|
boolean |
isDoubleMetaphoneEqual(String value1,
String value2)
Check if the Double Metaphone values of two
String values
are equal. |
boolean |
isDoubleMetaphoneEqual(String value1,
String value2,
boolean alternate)
Check if the Double Metaphone values of two
String values
are equal, optionally using the alternate value. |
void |
setMaxCodeLen(int maxCodeLen)
Sets the maxCodeLen.
|
public DoubleMetaphone()
protected char charAt(String value, int index)
public String doubleMetaphone(String value)
value
- String to encodepublic String doubleMetaphone(String value, boolean alternate)
value
- String to encodealternate
- use alternate encodepublic Object encode(Object obj) throws EncoderException
obj
is a String
(like Metaphone
).encode
in interface Encoder
obj
- Object to encode (should be of type String)EncoderException
- encode parameter is not of type Stringpublic String encode(String value)
encode
in interface StringEncoder
value
- String to encodepublic int getMaxCodeLen()
public boolean isDoubleMetaphoneEqual(String value1, String value2)
String
values
are equal.value1
- The left-hand side of the encoded String.equals(Object)
.value2
- The right-hand side of the encoded String.equals(Object)
.true
if the encoded String
s are equal;
false
otherwise.isDoubleMetaphoneEqual(String,String,boolean)
public boolean isDoubleMetaphoneEqual(String value1, String value2, boolean alternate)
String
values
are equal, optionally using the alternate value.value1
- The left-hand side of the encoded String.equals(Object)
.value2
- The right-hand side of the encoded String.equals(Object)
.alternate
- use the alternate value if true
.true
if the encoded String
s are equal;
false
otherwise.public void setMaxCodeLen(int maxCodeLen)
maxCodeLen
- The maxCodeLen to set