PhoneticEngine (Apache Commons Codec 1.22.1 API)
Description: declaration: package: org.apache.commons.codec.language.bm, class: PhoneticEngine

Package org.apache.commons.codec.language.bm

# Class PhoneticEngine

java.lang.Object
org.apache.commons.codec.language.bm.PhoneticEngine

public class PhoneticEngine extends 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

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `PhoneticEngine(NameType nameType, RuleType ruleType, boolean concatenate)`
  Generates a new, fully-configured phonetic engine.
  `PhoneticEngine(NameType nameType, RuleType ruleType, boolean concatenate, int maxPhonemes)`
  Generates a new, fully-configured phonetic engine.

- ## Method Summary

  Modifier and Type
  Method
  Description
  `String`
  `encode(String input)`
  Encodes a string to its phonetic representation.
  `String`
  `encode(String input, Languages.LanguageSet languageSet)`
  Encodes an input string into an output phonetic representation, given a set of possible origin languages.
  `Lang`
  `getLang()`
  Gets the Lang language guessing rules being used.
  `int`
  `getMaxPhonemes()`
  Gets the maximum number of phonemes the engine will calculate for a given input.
  `NameType`
  `getNameType()`
  Gets the NameType being used.
  `RuleType`
  `getRuleType()`
  Gets the RuleType being used.
  `boolean`
  `isConcat()`
  Gets if multiple phonetic encodings are concatenated or if just the first one is kept.

  ### Methods inherited from class java.lang.Object

  `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- ## Constructor Details

  - ### PhoneticEngine

    public PhoneticEngine(NameType nameType, RuleType ruleType, boolean concatenate)
    Generates a new, fully-configured phonetic engine.
    Parameters:
      `nameType` - the type of names it will use.
      `ruleType` - the type of rules it will apply.
      `concatenate` - if it will concatenate multiple encodings.

  - ### PhoneticEngine

    public PhoneticEngine(NameType nameType, RuleType ruleType, boolean concatenate, int maxPhonemes)
    Generates a new, fully-configured phonetic engine.
    Parameters:
      `nameType` - the type of names it will use.
      `ruleType` - the type of rules it will apply.
      `concatenate` - if it will concatenate multiple encodings.
      `maxPhonemes` - the maximum number of phonemes that will be handled.
    Since:
      1.7

- ## Method Details

  - ### encode

    public String encode(String input)
    Encodes a string to its phonetic representation.
    Parameters:
      `input` - the String to encode.
    Returns:
      The encoding of the input.

  - ### encode

    public String encode(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.
      `languageSet` - set of possible origin languages.
    Returns:
      A phonetic representation of the input; a String containing '-'-separated phonetic representations of the input.

  - ### 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()
    Gets if multiple phonetic encodings are concatenated or if just the first one is kept.
    Returns:
      true if multiple phonetic encodings are returned, false if just the first is.