org.apache.commons.codec.language.bm
Class PhoneticEngine.RulesApplication

java.lang.Object
  extended by 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
private  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
PhoneticEngine.RulesApplication(java.util.List<Rule> finalRules, java.lang.CharSequence input, PhoneticEngine.PhonemeBuilder phonemeBuilder, int i, int maxPhonemes)
           
 
Method Summary
 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.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

PhoneticEngine.RulesApplication

public PhoneticEngine.RulesApplication(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.8 - Copyright © 2002-2013 - Apache Software Foundation