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

    • 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.
    • 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:
      IllegalArgumentException - if index != 0
      IOException - if and only if the Writer produces an IOException
    • translateWhole

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