Class CharSequenceTranslator
- java.lang.Object
-
- org.apache.commons.text.translate.CharSequenceTranslator
-
- Direct Known Subclasses:
AggregateTranslator
,CodePointTranslator
,CsvTranslators.CsvEscaper
,CsvTranslators.CsvUnescaper
,LookupTranslator
,NumericEntityUnescaper
,OctalUnescaper
,UnicodeUnescaper
public abstract class CharSequenceTranslator extends java.lang.Object
An API for translating text. Its core use is to escape and unescape text. Because escaping and unescaping is completely contextual, the API does not present two separate signatures.- Since:
- 1.0
-
-
Constructor Summary
Constructors Constructor Description CharSequenceTranslator()
-
Method Summary
All Methods Static Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description static java.lang.String
hex(int codePoint)
Returns an upper case hexadecimalString
for the given character.java.lang.String
translate(java.lang.CharSequence input)
Helper for non-Writer usage.abstract int
translate(java.lang.CharSequence input, int index, java.io.Writer writer)
Translate a set of code points, represented by an int index into a CharSequence, into another set of code points.void
translate(java.lang.CharSequence input, java.io.Writer writer)
Translate an input onto a Writer.CharSequenceTranslator
with(CharSequenceTranslator... translators)
Helper method to create a merger of this translator with another set of translators.
-
-
-
Method Detail
-
hex
public static java.lang.String hex(int codePoint)
Returns an upper case hexadecimalString
for the given character.- Parameters:
codePoint
- The code point to convert.- Returns:
- An upper case hexadecimal
String
-
translate
public final java.lang.String translate(java.lang.CharSequence input)
Helper for non-Writer usage.- Parameters:
input
- CharSequence to be translated- Returns:
- String output of translation
-
translate
public abstract int translate(java.lang.CharSequence input, int index, java.io.Writer writer) throws java.io.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.- Parameters:
input
- CharSequence that is being translatedindex
- int representing the current point of translationwriter
- Writer to translate the text to- Returns:
- int count of code points consumed
- Throws:
java.io.IOException
- if and only if the Writer produces an IOException
-
translate
public final void translate(java.lang.CharSequence input, java.io.Writer writer) throws java.io.IOException
Translate an input onto a Writer. This is intentionally final as its algorithm is tightly coupled with the abstract method of this class.- Parameters:
input
- CharSequence that is being translatedwriter
- Writer to translate the text to- Throws:
java.io.IOException
- if and only if the Writer produces an IOException
-
with
public final CharSequenceTranslator with(CharSequenceTranslator... translators)
Helper method to create a merger of this translator with another set of translators. Useful in customizing the standard functionality.- Parameters:
translators
- CharSequenceTranslator array of translators to merge with this one- Returns:
- CharSequenceTranslator merging this translator with the others
-
-