Class StringEscaper

java.lang.Object
org.eigenbase.xom.StringEscaper
All Implemented Interfaces:
Cloneable

public class StringEscaper extends Object implements Cloneable

StringEscaper is a utility for replacing special characters with escape sequences in strings. Initially, a StringEscaper starts out as an identity transform in the "mutable" state. Call defineEscape as many times as necessary to set up mappings, and then call makeImmutable() before using appendEscapedString to actually apply the defined transform. Or, use one of the global mappings pre-defined here.

  • Field Details

  • Constructor Details

    • StringEscaper

      public StringEscaper()
      Identity transform
  • Method Details

    • defineEscape

      public void defineEscape(char from, 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 String escapeString(String s)
      Apply an immutable transformation to the given string.
    • appendEscapedString

      public void appendEscapedString(String s, StringBuffer sb)
      Apply an immutable transformation to the given string, writing the results to a string buffer.
    • clone

      protected Object clone()
      Overrides:
      clone in class Object
    • getMutableClone

      public StringEscaper getMutableClone()
      Create a mutable escaper from an existing escaper, which may already be immutable.