Class PhoneticEngine
- java.lang.Object
-
- org.apache.commons.codec.language.bm.PhoneticEngine
-
public class PhoneticEngine extends java.lang.Object
Converts words into potential phonetic representations.This is a two-stage process. Firstly, the word is converted into a phonetic representation that takes into account the likely source language. Next, this phonetic representation is converted into a pan-European 'average' representation, allowing comparison between different versions of essentially the same word from different languages.
This class is intentionally immutable and thread-safe. If you wish to alter the settings for a PhoneticEngine, you must make a new one with the updated settings.
Ported from phoneticengine.php
- Since:
- 1.6
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static classPhoneticEngine.BuilderBuilder for a PhoneticEngine.
-
Constructor Summary
Constructors Constructor Description PhoneticEngine(NameType nameType, RuleType ruleType, boolean concatenate)Deprecated.Usebuilder()instead.PhoneticEngine(NameType nameType, RuleType ruleType, boolean concatenate, int maxPhonemes)Deprecated.Usebuilder()instead.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description static PhoneticEngine.Builderbuilder()Creates a new builder for a PhoneticEngine.java.lang.Stringencode(java.lang.String input)Encodes a string to its phonetic representation.java.lang.Stringencode(java.lang.String input, Languages.LanguageSet languageSet)Encodes an input string into an output phonetic representation, given a set of possible origin languages.LanggetLang()Gets the Lang language guessing rules being used.intgetMaxPhonemes()Gets the maximum number of phonemes the engine will calculate for a given input.NameTypegetNameType()Gets the NameType being used.RuleTypegetRuleType()Gets the RuleType being used.booleanisConcat()Tests whether multiple phonetic encodings are concatenated or just the first one is kept.
-
-
-
Constructor Detail
-
PhoneticEngine
@Deprecated public PhoneticEngine(NameType nameType, RuleType ruleType, boolean concatenate)
Deprecated.Usebuilder()instead.Generates a new, fully-configured phonetic engine.- Parameters:
nameType- the type of names it will use, null is treated asNameType.GENERIC.ruleType- the type of rules it will apply, null is treated asRuleType.APPROX.concatenate- if it will concatenate multiple encodings.
-
PhoneticEngine
@Deprecated public PhoneticEngine(NameType nameType, RuleType ruleType, boolean concatenate, int maxPhonemes)
Deprecated.Usebuilder()instead.Generates a new, fully-configured phonetic engine.- Parameters:
nameType- the type of names it will use, null is treated asNameType.GENERIC.ruleType- the type of rules it will apply, null is treated asRuleType.APPROX.concatenate- if it will concatenate multiple encodings.maxPhonemes- the maximum number of phonemes that will be handled, less than 0 will reset to the default of 20.- Throws:
java.lang.IllegalArgumentException- Thrown if ruleType is RULES.- Since:
- 1.7
-
-
Method Detail
-
builder
public static PhoneticEngine.Builder builder()
Creates a new builder for a PhoneticEngine.- Returns:
- a new builder for a PhoneticEngine.
- Since:
- 1.23.0
-
encode
public java.lang.String encode(java.lang.String input)
Encodes a string to its phonetic representation.- Parameters:
input- the String to encode, not null.- Returns:
- The encoding of the input.
- Throws:
java.lang.IllegalArgumentException- Thrown if the input is longer than the maximum allowed length.
-
encode
public java.lang.String encode(java.lang.String input, Languages.LanguageSet languageSet)
Encodes an input string into an output phonetic representation, given a set of possible origin languages.- Parameters:
input- String to phoneticise; a String with dashes or spaces separating each word, not null.languageSet- set of possible origin languages.- Returns:
- A phonetic representation of the input; a String containing '-'-separated phonetic representations of the input.
- Throws:
java.lang.IllegalArgumentException- Thrown if the input is longer than the maximum allowed length.
-
getLang
public Lang getLang()
Gets the Lang language guessing rules being used.- Returns:
- The Lang in use.
-
getMaxPhonemes
public int getMaxPhonemes()
Gets the maximum number of phonemes the engine will calculate for a given input.- Returns:
- The maximum number of phonemes.
- Since:
- 1.7
-
getNameType
public NameType getNameType()
Gets the NameType being used.- Returns:
- The NameType in use.
-
getRuleType
public RuleType getRuleType()
Gets the RuleType being used.- Returns:
- The RuleType in use.
-
isConcat
public boolean isConcat()
Tests whether multiple phonetic encodings are concatenated or just the first one is kept.- Returns:
- true if multiple phonetic encodings are returned, false if just the first is.
-
-