Package org.apache.commons.text.translate

# 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 code points from the input.

Since:
  1.0

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `AggregateTranslator(CharSequenceTranslator... translators)`
  Specify the translators to be used at creation time.

- ## Method Summary

  Modifier and Type
  Method
  Description
  `int`
  `translate(CharSequence input, int index, Writer writer)`
  The first translator to consume code points from the input is the 'winner'.

  ### Methods inherited from class org.apache.commons.text.translate.CharSequenceTranslator

  `hex, translate, translate, with`

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

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

- ## 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 writer) throws IOException
    The first translator to consume code points from the input is the 'winner'. Execution stops with the number of consumed code points being returned. Translate a set of code points, represented by an int index into a CharSequence, into another set of code points. The number of code points 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
      `writer` - Writer to translate the text to
    Returns:
      int count of code points consumed
    Throws:
      `IOException` - if and only if the Writer produces an IOException