Package groovy.json

Class StringEscapeUtils


  • public class StringEscapeUtils
    extends java.lang.Object
    Escapes and unescapes Strings 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

      All Methods Static Methods Concrete Methods 
      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 Detail

      • 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 Detail

      • 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)