# Class LookupTranslator

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

public class LookupTranslator extends CharSequenceTranslator
Translates a value using a lookup table.

Since:
  1.0

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `LookupTranslator(Map<CharSequence, CharSequence> lookupMap)`
  Constructs the lookup table to be used in translation.

- ## Method Summary

  Modifier and Type
  Method
  Description
  `int`
  `translate(CharSequence input, int index, Writer writer)`
  Translate a set of code points, represented by an int index into a CharSequence, into another set of code points.

  ### Methods inherited from class CharSequenceTranslator

  `hex, translate, translate, with`

  ### Methods inherited from class Object

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

- ## Constructor Details

  - ### LookupTranslator

    public LookupTranslator(Map<CharSequence, CharSequence> lookupMap)
    Constructs the lookup table to be used in translation.

    Note that, as of Lang 3.1 (the origin of this code), the key to the lookup table is converted to a `String`. This is because we need the key to support hashCode and equals(Object), allowing it to be the key for a HashMap. See LANG-882.

    Parameters:
      `lookupMap` - Map<CharSequence, CharSequence> table of translator mappings, may not be null.

- ## Method Details

  - ### translate

    public int translate(CharSequence input, int index, Writer writer) throws IOException
    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.