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
  Version:
    $Id: PhoneticEngine.java 1465848 2013-04-09 00:41:12Z sebb $

- - ### Constructor Summary

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

  - ### Method Summary

    Methods
    Modifier and Type | Method and 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 Detail

    - #### PhoneticEngine

          public PhoneticEngine(NameType nameType,
                        RuleType ruleType,
                        boolean concat)

      Generates a new, fully-configured phonetic engine.
      Parameters:
        `nameType` - the type of names it will use
        `ruleType` - the type of rules it will apply
        `concat` - if it will concatenate multiple encodings

    - #### PhoneticEngine

          public PhoneticEngine(NameType nameType,
                        RuleType ruleType,
                        boolean concat,
                        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
        `concat` - if it will concatenate multiple encodings
        `maxPhonemes` - the maximum number of phonemes that will be handled
      Since:
        1.7

  - ### Method Detail

    - #### 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` -
      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

    - #### 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

    - #### 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

Copyright © 2002-2013 The Apache Software Foundation. All Rights Reserved.