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 out)
Translate a set of codepoints, represented by an int index into a CharSequence, into another set of codepoints.void
translate(java.lang.CharSequence input, java.io.Writer out)
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
-
translate
public abstract int translate(java.lang.CharSequence input, int index, java.io.Writer out) throws java.io.IOException
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.- Parameters:
input
- CharSequence that is being translatedindex
- int representing the current point of translationout
- Writer to translate the text to- Returns:
- int count of codepoints consumed
- Throws:
java.io.IOException
- if and only if the Writer produces an IOException
-
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 final void translate(java.lang.CharSequence input, java.io.Writer out) 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 translatedout
- 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
-
hex
public static java.lang.String hex(int codepoint)
Returns an upper case hexadecimal
String
for the given character.- Parameters:
codepoint
- The codepoint to convert.- Returns:
- An upper case hexadecimal
String
-
-