Class AggregateTranslator

java.lang.Object
org.apache.commons.text.translate.CharSequenceTranslator
org.apache.commons.text.translate.AggregateTranslator

public class AggregateTranslator
extends CharSequenceTranslator
Executes a sequence of translators one after the other. Execution ends whenever the first translator consumes codepoints from the input.
Since:
1.0
  • Constructor Details

    • AggregateTranslator

      public AggregateTranslator​(CharSequenceTranslator... translators)
      Specify the translators to be used at creation time.
      Parameters:
      translators - CharSequenceTranslator array to aggregate
  • Method Details

    • translate

      public int translate​(CharSequence input, int index, Writer out) throws IOException
      The first translator to consume codepoints from the input is the 'winner'. Execution stops with the number of consumed codepoints being returned. Translate a set of codepoints, represented by an int index into a CharSequence, into another set of codepoints. The number of codepoints consumed must be returned, and the only IOExceptions thrown must be from interacting with the Writer so that the top level API may reliably ignore StringWriter IOExceptions.
      Specified by:
      translate in class CharSequenceTranslator
      Parameters:
      input - CharSequence that is being translated
      index - int representing the current point of translation
      out - Writer to translate the text to
      Returns:
      int count of codepoints consumed
      Throws:
      IOException - if and only if the Writer produces an IOException