Class SinglePassTranslator

java.lang.Object
org.apache.commons.text.translate.CharSequenceTranslator
org.apache.commons.text.translate.SinglePassTranslator
Direct Known Subclasses:
CsvTranslators.CsvEscaper, CsvTranslators.CsvUnescaper

abstract class SinglePassTranslator extends CharSequenceTranslator
Abstract translator for processing whole input in single pass. Handles initial index checking and counting of returned code points.
  • Constructor Details

    • SinglePassTranslator

      SinglePassTranslator()
  • Method Details

    • translate

      public int translate(CharSequence input, int index, Writer out) throws IOException
      Description copied from class: CharSequenceTranslator
      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
    • getClassName

      private String getClassName()
      A utility method to be used in the translate(CharSequence, int, Writer) method.
      Returns:
      The name of this or the extending class.
    • translateWhole

      abstract void translateWhole(CharSequence input, Writer out) throws IOException
      Translate whole set of code points passed in input.
      Parameters:
      input - CharSequence that is being translated
      out - Writer to translate the text to
      Throws:
      IOException - if and only if the Writer produces an IOException