Package groovy.json

# Class StringEscapeUtils

java.lang.Object
groovy.json.StringEscapeUtils

    public class StringEscapeUtils
    extends java.lang.Object

Escapes and unescapes `String`s for Java, Java Script, HTML, XML, and SQL.

#ThreadSafe#

Note that this version is a stripped down version from Commons Lang 2.6 with only necessary methods for JSON builder

Since:
  2.0

- ## Constructor Summary

  Constructors
  Constructor | Description
  --- | ---
  `StringEscapeUtils()` | `StringEscapeUtils` instances should NOT be constructed in standard programming.

- ## Method Summary

  Modifier and Type | Method | Description
  --- | --- | ---
  `static void` | `escapeJava​(java.io.Writer out, java.lang.String str)` | Escapes the characters in a `String` using Java String rules to a `Writer`.
  `static java.lang.String` | `escapeJava​(java.lang.String str)` | Escapes the characters in a `String` using Java String rules.
  `static void` | `escapeJavaScript​(java.io.Writer out, java.lang.String str)` | Escapes the characters in a `String` using JavaScript String rules to a `Writer`.
  `static java.lang.String` | `escapeJavaScript​(java.lang.String str)` | Escapes the characters in a `String` using JavaScript String rules.
  `static void` | `unescapeJava​(java.io.Writer out, java.lang.String str)` | Unescapes any Java literals found in the `String` to a `Writer`.
  `static java.lang.String` | `unescapeJava​(java.lang.String str)` | Unescapes any Java literals found in the `String`.
  `static void` | `unescapeJavaScript​(java.io.Writer out, java.lang.String str)` | Unescapes any JavaScript literals found in the `String` to a `Writer`.
  `static java.lang.String` | `unescapeJavaScript​(java.lang.String str)` | Unescapes any JavaScript literals found in the `String`.

  ### Methods inherited from class java.lang.Object

  `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- ## Constructor Details

  - ### StringEscapeUtils

    public StringEscapeUtils()

    `StringEscapeUtils` instances should NOT be constructed in standard programming.

    Instead, the class should be used as:

        StringEscapeUtils.escapeJava("foo");

    This constructor is public to permit tools that require a JavaBean instance to operate.

- ## Method Details

  - ### escapeJava

    public static java.lang.String escapeJava​(java.lang.String str)
    Escapes the characters in a `String` using Java String rules.

    Deals correctly with quotes and control-chars (tab, backslash, cr, ff, etc.)

    So a tab becomes the characters `'\\'` and `'t'`.

    The only difference between Java strings and JavaScript strings is that in JavaScript, a single quote must be escaped.

    Example:

         input string: They didn't say, "Stop!"
         output string: They didn't say, \"Stop!\"

    Parameters:
      `str` - String to escape values in, may be null
    Returns:
      String with escaped values, `null` if null string input

  - ### escapeJava

    public static void escapeJava​(java.io.Writer out, java.lang.String str) throws java.io.IOException
    Escapes the characters in a `String` using Java String rules to a `Writer`.

    A `null` string input has no effect.

    Parameters:
      `out` - Writer to write escaped string into
      `str` - String to escape values in, may be null
    Throws:
      `java.lang.IllegalArgumentException` - if the Writer is `null`
      `java.io.IOException` - if error occurs on underlying Writer
    See Also:
      `escapeJava(java.lang.String)`

  - ### escapeJavaScript

    public static java.lang.String escapeJavaScript​(java.lang.String str)
    Escapes the characters in a `String` using JavaScript String rules.

    Escapes any values it finds into their JavaScript String form. Deals correctly with quotes and control-chars (tab, backslash, cr, ff, etc.)

    So a tab becomes the characters `'\\'` and `'t'`.

    The only difference between Java strings and JavaScript strings is that in JavaScript, a single quote must be escaped.

    Example:

         input string: They didn't say, "Stop!"
         output string: They didn\'t say, \"Stop!\"

    Parameters:
      `str` - String to escape values in, may be null
    Returns:
      String with escaped values, `null` if null string input

  - ### escapeJavaScript

    public static void escapeJavaScript​(java.io.Writer out, java.lang.String str) throws java.io.IOException
    Escapes the characters in a `String` using JavaScript String rules to a `Writer`.

    A `null` string input has no effect.

    Parameters:
      `out` - Writer to write escaped string into
      `str` - String to escape values in, may be null
    Throws:
      `java.lang.IllegalArgumentException` - if the Writer is `null`
      `java.io.IOException` - if error occurs on underlying Writer
    See Also:
      `escapeJavaScript(java.lang.String)`

  - ### unescapeJava

    public static java.lang.String unescapeJava​(java.lang.String str)
    Unescapes any Java literals found in the `String`. For example, it will turn a sequence of `'\'` and `'n'` into a newline character, unless the `'\'` is preceded by another `'\'`.
    Parameters:
      `str` - the `String` to unescape, may be null
    Returns:
      a new unescaped `String`, `null` if null string input

  - ### unescapeJava

    public static void unescapeJava​(java.io.Writer out, java.lang.String str) throws java.io.IOException

    Unescapes any Java literals found in the `String` to a `Writer`.

    For example, it will turn a sequence of `'\'` and `'n'` into a newline character, unless the `'\'` is preceded by another `'\'`.

    A `null` string input has no effect.

    Parameters:
      `out` - the `Writer` used to output unescaped characters
      `str` - the `String` to unescape, may be null
    Throws:
      `java.lang.IllegalArgumentException` - if the Writer is `null`
      `java.io.IOException` - if error occurs on underlying Writer

  - ### unescapeJavaScript

    public static java.lang.String unescapeJavaScript​(java.lang.String str)
    Unescapes any JavaScript literals found in the `String`.

    For example, it will turn a sequence of `'\'` and `'n'` into a newline character, unless the `'\'` is preceded by another `'\'`.

    Parameters:
      `str` - the `String` to unescape, may be null
    Returns:
      A new unescaped `String`, `null` if null string input
    See Also:
      `unescapeJava(String)`

  - ### unescapeJavaScript

    public static void unescapeJavaScript​(java.io.Writer out, java.lang.String str) throws java.io.IOException
    Unescapes any JavaScript literals found in the `String` to a `Writer`.

    For example, it will turn a sequence of `'\'` and `'n'` into a newline character, unless the `'\'` is preceded by another `'\'`.

    A `null` string input has no effect.

    Parameters:
      `out` - the `Writer` used to output unescaped characters
      `str` - the `String` to unescape, may be null
    Throws:
      `java.lang.IllegalArgumentException` - if the Writer is `null`
      `java.io.IOException` - if error occurs on underlying Writer
    See Also:
      `unescapeJava(Writer,String)`