Class StringUtils


  • public class StringUtils
    extends java.lang.Object
    Class containing misc helper methods for managing Strings. NOTE: Extracted from org.alfresco.web.ui.common.Utils;
    Author:
    Kevin Roast
    • Field Summary

      Fields 
      Modifier and Type Field Description
      protected static org.owasp.html.PolicyFactory basePolicy  
      protected static org.owasp.html.PolicyFactory docPolicy  
      protected static boolean overrideDocType
      default value - NOTE: see spring-webscripts-application-context.xml
    • Constructor Summary

      Constructors 
      Constructor Description
      StringUtils()  
    • Method Summary

      All Methods Static Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      static java.lang.String cropEncode​(java.lang.String text)
      Crop a label within a SPAN element, using ellipses '...' at the end of label and and encode the result for HTML output.
      static java.lang.String cropEncode​(java.lang.String text, int length)
      Crop a label within a SPAN element, using ellipses '...' at the end of label and and encode the result for HTML output.
      static java.lang.String encode​(java.lang.String string)
      Encodes the given string, so that it can be used within an HTML page.
      static java.lang.String encodeJavascript​(java.lang.String s)
      Encode a string to the %AB hex style JavaScript compatible notation.
      static java.lang.String join​(java.lang.Object[] value)
      Join an array of values into a String value
      static java.lang.String join​(java.lang.Object[] value, java.lang.String delim)
      Join an array of values into a String value using supplied delimiter between each.
      static java.lang.String remove​(java.lang.String str, java.lang.String match)
      Remove all occurances of a String from a String
      static java.lang.String replace​(java.lang.String str, java.lang.String repl, java.lang.String with)
      Replace one string instance with another within the specified string
      static java.lang.String replaceLineBreaks​(java.lang.String str, boolean xhtml)
      Replaces carriage returns and line breaks with the <br> tag.
      void setOverrideDocType​(boolean overrideDocType)  
      static java.lang.String stripUnsafeHTMLDocument​(java.lang.String doc, boolean encode)
      Strip unsafe HTML tags from a string that represent an entire hml doc - only leaves most basic formatting tags and optionally encodes or strips the remaining characters.
      static java.lang.String stripUnsafeHTMLTags​(java.lang.String s)
      Strip unsafe HTML tags from a string - only leaves most basic formatting tags and encodes the remaining characters.
      static java.lang.String stripUnsafeHTMLTags​(java.lang.String s, boolean encode)
      Strip unsafe HTML tags from a string - only leaves most basic formatting tags and optionally encodes or strips the remaining characters.
      static java.lang.String stripUnsafeHTMLTags​(java.lang.String s, boolean encode, boolean overrideDocumentType)
      Strip unsafe HTML tags from a string - only leaves most basic formatting tags and optionally encodes or strips the remaining characters.
      static java.lang.String stripUnsafeHTMLTags​(java.lang.String s, boolean encode, boolean overrideDocumentType, boolean isHTMLDoc)
      Strip unsafe HTML tags from a string - only leaves most basic formatting tags
      static java.lang.String stripUnsafeHTMLTags​(java.lang.String s, boolean encode, boolean overrideDocumentType, boolean isHTMLDoc, boolean runTwice)
      Strip unsafe HTML tags from a string - only leaves most basic formatting tags
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Field Detail

      • overrideDocType

        protected static boolean overrideDocType
        default value - NOTE: see spring-webscripts-application-context.xml
      • basePolicy

        protected static org.owasp.html.PolicyFactory basePolicy
      • docPolicy

        protected static org.owasp.html.PolicyFactory docPolicy
    • Constructor Detail

      • StringUtils

        public StringUtils()
    • Method Detail

      • setOverrideDocType

        public void setOverrideDocType​(boolean overrideDocType)
        Parameters:
        overrideDocType - Decides if legacy html !DOCTYPE instructions shall be transformed to the default mode
      • encode

        public static java.lang.String encode​(java.lang.String string)
        Encodes the given string, so that it can be used within an HTML page.
        Parameters:
        string - the String to convert
      • cropEncode

        public static java.lang.String cropEncode​(java.lang.String text)
        Crop a label within a SPAN element, using ellipses '...' at the end of label and and encode the result for HTML output. A SPAN will only be generated if the label is beyond the default setting of 32 characters in length.
        Parameters:
        text - to crop and encode
        Returns:
        encoded and cropped resulting label HTML
      • cropEncode

        public static java.lang.String cropEncode​(java.lang.String text,
                                                  int length)
        Crop a label within a SPAN element, using ellipses '...' at the end of label and and encode the result for HTML output. A SPAN will only be generated if the label is beyond the specified number of characters in length.
        Parameters:
        text - to crop and encode
        length - length of string to crop too
        Returns:
        encoded and cropped resulting label HTML
      • encodeJavascript

        public static java.lang.String encodeJavascript​(java.lang.String s)
        Encode a string to the %AB hex style JavaScript compatible notation. Used to encode a string to a value that can be safely inserted into an HTML page and then decoded (and probably eval()ed) using the unescape() JavaScript method.
        Parameters:
        s - string to encode
        Returns:
        %AB hex style encoded string
      • stripUnsafeHTMLTags

        public static java.lang.String stripUnsafeHTMLTags​(java.lang.String s)
        Strip unsafe HTML tags from a string - only leaves most basic formatting tags and encodes the remaining characters.
        Parameters:
        s - HTML string to strip tags from
        Returns:
        safe string
      • stripUnsafeHTMLTags

        public static java.lang.String stripUnsafeHTMLTags​(java.lang.String s,
                                                           boolean encode)
        Strip unsafe HTML tags from a string - only leaves most basic formatting tags and optionally encodes or strips the remaining characters.
        Parameters:
        s - HTML string to strip tags from
        encode - if true then encode remaining html data
        Returns:
        safe string
      • stripUnsafeHTMLDocument

        public static java.lang.String stripUnsafeHTMLDocument​(java.lang.String doc,
                                                               boolean encode)
        Strip unsafe HTML tags from a string that represent an entire hml doc - only leaves most basic formatting tags and optionally encodes or strips the remaining characters.
        Parameters:
        doc - HTML string representing an entire hml doc to strip tags from
        encode - if true then encode remaining html data
        Returns:
        safe string
      • stripUnsafeHTMLTags

        public static java.lang.String stripUnsafeHTMLTags​(java.lang.String s,
                                                           boolean encode,
                                                           boolean overrideDocumentType)
        Strip unsafe HTML tags from a string - only leaves most basic formatting tags and optionally encodes or strips the remaining characters.
        Parameters:
        s - HTML string to strip tags from
        encode - if true then encode remaining html data
        overrideDocumentType - if true a doctype enforcing the latest browser rendition mode will used
        Returns:
        safe string
      • stripUnsafeHTMLTags

        public static java.lang.String stripUnsafeHTMLTags​(java.lang.String s,
                                                           boolean encode,
                                                           boolean overrideDocumentType,
                                                           boolean isHTMLDoc)
        Strip unsafe HTML tags from a string - only leaves most basic formatting tags
        Parameters:
        s - HTML string to strip tags from
        encode - if true then encode remaining html data (not in use)
        overrideDocumentType - if true a doctype enforcing the latest browser rendition mode will used
        isHTMLDoc - if true elements as html, head, body will be allowed in the sanitization
        Returns:
        safe string
      • stripUnsafeHTMLTags

        public static java.lang.String stripUnsafeHTMLTags​(java.lang.String s,
                                                           boolean encode,
                                                           boolean overrideDocumentType,
                                                           boolean isHTMLDoc,
                                                           boolean runTwice)
        Strip unsafe HTML tags from a string - only leaves most basic formatting tags
        Parameters:
        s - HTML string to strip tags from
        encode - if true then encode remaining html data (not in use)
        overrideDocumentType - if true a doctype enforcing the latest browser rendition mode will used
        isHTMLDoc - if true elements as html, head, body will be allowed in the sanitization
        runTwice - if true, performs a second iteration against the first sanitation result
        Returns:
        safe string
      • replace

        public static java.lang.String replace​(java.lang.String str,
                                               java.lang.String repl,
                                               java.lang.String with)
        Replace one string instance with another within the specified string
        Parameters:
        str - String
        repl - String
        with - String
        Returns:
        replaced string
      • remove

        public static java.lang.String remove​(java.lang.String str,
                                              java.lang.String match)
        Remove all occurances of a String from a String
        Parameters:
        str - String to remove occurances from
        match - The string to remove
        Returns:
        new String with occurances of the match removed
      • replaceLineBreaks

        public static java.lang.String replaceLineBreaks​(java.lang.String str,
                                                         boolean xhtml)
        Replaces carriage returns and line breaks with the <br> tag.
        Parameters:
        str - The string to be parsed
        Returns:
        The string with line breaks removed
      • join

        public static java.lang.String join​(java.lang.Object[] value)
        Join an array of values into a String value
        Parameters:
        value - non-null array of objects - toString() of each value is used
        Returns:
        concatenated string value
      • join

        public static java.lang.String join​(java.lang.Object[] value,
                                            java.lang.String delim)
        Join an array of values into a String value using supplied delimiter between each.
        Parameters:
        value - non-null array of objects - toString() of each value is used
        delim - delimiter value to apply between each value - null indicates no delimiter
        Returns:
        concatenated string value