Package groovy.json

# Class StringEscapeUtils

java.lang.Object
groovy.json.StringEscapeUtils

public class StringEscapeUtils extends 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
Author:
  Apache Software Foundation, Apache Jakarta Turbine, Purple Technology, Alexander Day Chaffee, Antony Riley, Helge Tesgaard, Sean Brown, Gary Gregory, Phil Steitz, Pete Gieser

## 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(Writer out, String str)`
Escapes the characters in a `String` using Java String rules to a `Writer`.
`static String`
`escapeJava(String str)`
Escapes the characters in a `String` using Java String rules.
`static void`
`escapeJavaScript(Writer out, String str)`
Escapes the characters in a `String` using JavaScript String rules to a `Writer`.
`static String`
`escapeJavaScript(String str)`
Escapes the characters in a `String` using JavaScript String rules.
`static void`
`unescapeJava(Writer out, String str)`
Unescapes any Java literals found in the `String` to a `Writer`.
`static String`
`unescapeJava(String str)`
Unescapes any Java literals found in the `String`.
`static void`
`unescapeJavaScript(Writer out, String str)`
Unescapes any JavaScript literals found in the `String` to a `Writer`.
`static String`
`unescapeJavaScript(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 String escapeJava(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: He didn't say, "Stop!"
     output string: He 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(Writer out, String str) throws 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:
  `IllegalArgumentException` - if the Writer is `null`
  `IOException` - if error occurs on underlying Writer
See Also:
  - `escapeJava(java.lang.String)`

### escapeJavaScript

public static String escapeJavaScript(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: He didn't say, "Stop!"
     output string: He 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(Writer out, String str) throws 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:
  `IllegalArgumentException` - if the Writer is `null`
  `IOException` - if error occurs on underlying Writer
See Also:
  - `escapeJavaScript(java.lang.String)`

### unescapeJava

public static String unescapeJava(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(Writer out, String str) throws 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:
  `IllegalArgumentException` - if the Writer is `null`
  `IOException` - if error occurs on underlying Writer

### unescapeJavaScript

public static String unescapeJavaScript(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(Writer out, String str) throws 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:
  `IllegalArgumentException` - if the Writer is `null`
  `IOException` - if error occurs on underlying Writer
See Also:
  - `unescapeJava(Writer,String)`