PhoneticEngine.RulesApplication (Encode/Decode Utilities (Version 1.10))
Date: 2018-10-22

org.apache.commons.codec.language.bm

## Class PhoneticEngine.RulesApplication

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

- Enclosing class:
    PhoneticEngine

      private static final class PhoneticEngine.RulesApplication
      extends java.lang.Object

  A function closure capturing the application of a list of rules to an input sequence at a particular offset. After invocation, the values `i` and `found` are updated. `i` points to the index of the next char in `input` that must be processed next (the input up to that index having been processed already), and `found` indicates if a matching rule was found or not. In the case where a matching rule was found, `phonemeBuilder` is replaced with a new builder containing the phonemes updated by the matching rule. Although this class is not thread-safe (it has mutable unprotected fields), it is not shared between threads as it is constructed as needed by the calling methods.
  Since:
    1.6

- - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `private java.util.Map<java.lang.String,java.util.List<Rule>>` | `finalRules`
    `private boolean` | `found`
    `private int` | `i`
    `private java.lang.CharSequence` | `input`
    `private int` | `maxPhonemes`
    `private PhoneticEngine.PhonemeBuilder` | `phonemeBuilder`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `RulesApplication(java.util.Map<java.lang.String,java.util.List<Rule>> finalRules, java.lang.CharSequence input, PhoneticEngine.PhonemeBuilder phonemeBuilder, int i, int maxPhonemes)`

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `int` | `getI()`
    `PhoneticEngine.PhonemeBuilder` | `getPhonemeBuilder()`
    `PhoneticEngine.RulesApplication` | `invoke()` Invokes the rules.
    `boolean` | `isFound()`

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

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

- - ### Field Detail

    - #### finalRules

          private final java.util.Map<java.lang.String,java.util.List<Rule>> finalRules

    - #### input

          private final java.lang.CharSequence input

    - #### phonemeBuilder

          private PhoneticEngine.PhonemeBuilder phonemeBuilder

    - #### i

          private int i

    - #### maxPhonemes

          private final int maxPhonemes

    - #### found

          private boolean found

  - ### Constructor Detail

    - #### RulesApplication

          public RulesApplication(java.util.Map<java.lang.String,java.util.List<Rule>> finalRules,
                                  java.lang.CharSequence input,
                                  PhoneticEngine.PhonemeBuilder phonemeBuilder,
                                  int i,
                                  int maxPhonemes)

  - ### Method Detail

    - #### getI

          public int getI()

    - #### getPhonemeBuilder

          public PhoneticEngine.PhonemeBuilder getPhonemeBuilder()

    - #### invoke

          public PhoneticEngine.RulesApplication invoke()

      Invokes the rules. Loops over the rules list, stopping at the first one that has a matching context and pattern. Then applies this rule to the phoneme builder to produce updated phonemes. If there was no match, `i` is advanced one and the character is silently dropped from the phonetic spelling.
      Returns:
        `this`

    - #### isFound

          public boolean isFound()

commons-codec version 1.10 - Copyright © 2002-2018 - Apache Software Foundation