Package org.apache.calcite.util
Class XmlOutput.StringEscaper
- java.lang.Object
-
- org.apache.calcite.util.XmlOutput.StringEscaper
-
- All Implemented Interfaces:
java.lang.Cloneable
- Enclosing class:
- XmlOutput
static class XmlOutput.StringEscaper extends java.lang.Object implements java.lang.Cloneable
Utility for replacing special characters with escape sequences in strings.A StringEscaper starts out as an identity transform in the "mutable" state. Call
defineEscape(char, java.lang.String)
as many times as necessary to set up mappings, and then callmakeImmutable()
before actually applying the defined transform. Or, use one of the global mappings pre-defined here.
-
-
Field Summary
Fields Modifier and Type Field Description static XmlOutput.StringEscaper
HTML_ESCAPER
private java.lang.String[]
translationTable
private java.util.ArrayList<java.lang.String>
translationVector
static XmlOutput.StringEscaper
URL_ARG_ESCAPER
static XmlOutput.StringEscaper
URL_ESCAPER
static XmlOutput.StringEscaper
XML_ESCAPER
static XmlOutput.StringEscaper
XML_NUMERIC_ESCAPER
-
Constructor Summary
Constructors Constructor Description StringEscaper()
Identity transform
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected XmlOutput.StringEscaper
clone()
void
defineEscape(char from, java.lang.String to)
Map character "from" to escape sequence "to"java.lang.String
escapeString(java.lang.String s)
Apply an immutable transformation to the given string.XmlOutput.StringEscaper
getMutableClone()
Create a mutable escaper from an existing escaper, which may already be immutable.void
makeImmutable()
Call this before attempting to escape strings; after this, defineEscape may not be called again.
-
-
-
Field Detail
-
translationVector
private java.util.ArrayList<java.lang.String> translationVector
-
translationTable
private java.lang.String[] translationTable
-
XML_ESCAPER
public static final XmlOutput.StringEscaper XML_ESCAPER
-
XML_NUMERIC_ESCAPER
public static final XmlOutput.StringEscaper XML_NUMERIC_ESCAPER
-
HTML_ESCAPER
public static final XmlOutput.StringEscaper HTML_ESCAPER
-
URL_ARG_ESCAPER
public static final XmlOutput.StringEscaper URL_ARG_ESCAPER
-
URL_ESCAPER
public static final XmlOutput.StringEscaper URL_ESCAPER
-
-
Method Detail
-
defineEscape
public void defineEscape(char from, java.lang.String to)
Map character "from" to escape sequence "to"
-
makeImmutable
public void makeImmutable()
Call this before attempting to escape strings; after this, defineEscape may not be called again.
-
escapeString
public java.lang.String escapeString(java.lang.String s)
Apply an immutable transformation to the given string.
-
clone
protected XmlOutput.StringEscaper clone()
- Overrides:
clone
in classjava.lang.Object
-
getMutableClone
public XmlOutput.StringEscaper getMutableClone()
Create a mutable escaper from an existing escaper, which may already be immutable.
-
-