Class PhoneticEngine
java.lang.Object
org.apache.commons.codec.language.bm.PhoneticEngine
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 ClassesModifier and TypeClassDescriptionstatic classBuilder for a PhoneticEngine. -
Constructor Summary
ConstructorsConstructorDescriptionPhoneticEngine(NameType nameType, RuleType ruleType, boolean concatenate) Deprecated.PhoneticEngine(NameType nameType, RuleType ruleType, boolean concatenate, int maxPhonemes) Deprecated.Usebuilder()instead. -
Method Summary
Modifier and TypeMethodDescriptionstatic PhoneticEngine.Builderbuilder()Creates a new builder for a PhoneticEngine.Encodes a string to its phonetic representation.encode(String input, Languages.LanguageSet languageSet) Encodes an input string into an output phonetic representation, given a set of possible origin languages.getLang()Gets the Lang language guessing rules being used.intGets the maximum number of phonemes the engine will calculate for a given input.Gets the NameType being used.Gets the RuleType being used.booleanisConcat()Tests whether multiple phonetic encodings are concatenated or just the first one is kept.
-
Constructor Details
-
PhoneticEngine
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:
IllegalArgumentException- Thrown if ruleType is RULES.- Since:
- 1.7
-
-
Method Details
-
builder
Creates a new builder for a PhoneticEngine.- Returns:
- a new builder for a PhoneticEngine.
- Since:
- 1.23.0
-
encode
Encodes a string to its phonetic representation.- Parameters:
input- the String to encode, not null.- Returns:
- The encoding of the input.
- Throws:
IllegalArgumentException- Thrown if the input is longer than the maximum allowed length.
-
encode
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:
IllegalArgumentException- Thrown if the input is longer than the maximum allowed length.
-
getLang
-
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
-
getRuleType
-
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.
-
builder()instead.