Class Escaping


  • public class Escaping
    extends java.lang.Object
    • Field Detail

      • ESCAPABLE

        public static final java.lang.String ESCAPABLE
      • AMP_BACKSLASH_SET

        @NotNull
        public static final CharPredicate AMP_BACKSLASH_SET
    • Constructor Detail

      • Escaping

        public Escaping()
    • Method Detail

      • escapeHtml

        public static java.lang.String escapeHtml​(@NotNull
                                                  java.lang.CharSequence s,
                                                  boolean preserveEntities)
      • unescapeString

        @NotNull
        public static java.lang.String unescapeString​(@NotNull
                                                      java.lang.CharSequence s)
        Replace entities and backslash escapes with literal characters.
        Parameters:
        s - string to un-escape
        Returns:
        un-escaped string
      • unescapeString

        @NotNull
        public static java.lang.String unescapeString​(@NotNull
                                                      java.lang.CharSequence s,
                                                      boolean unescapeEntities)
        Replace entities and backslash escapes with literal characters.
        Parameters:
        s - string to un-escape
        unescapeEntities - true if HTML entities are to be unescaped
        Returns:
        un-escaped string
      • unescape

        @NotNull
        public static BasedSequence unescape​(@NotNull
                                             BasedSequence s,
                                             @NotNull
                                             ReplacedTextMapper textMapper)
        Replace entities and backslash escapes with literal characters.
        Parameters:
        s - based sequence to un-escape
        textMapper - replaced text mapper to update for the changed text
        Returns:
        un-escaped sequence
      • removeAll

        @NotNull
        public static BasedSequence removeAll​(@NotNull
                                              BasedSequence s,
                                              @NotNull
                                              java.lang.CharSequence remove,
                                              @NotNull
                                              ReplacedTextMapper textMapper)
        Replace entities and backslash escapes with literal characters.
        Parameters:
        s - sequence being changed
        remove - string to remove
        textMapper - replaced text mapper to update for the changed text
        Returns:
        un-escaped sequence
      • unescapeHtml

        @NotNull
        public static java.lang.String unescapeHtml​(@NotNull
                                                    java.lang.CharSequence s)
        Replace entities and backslash escapes with literal characters.
        Parameters:
        s - string to un-escape
        Returns:
        un-escaped string
      • unescapeHtml

        @NotNull
        public static BasedSequence unescapeHtml​(@NotNull
                                                 BasedSequence s,
                                                 @NotNull
                                                 ReplacedTextMapper textMapper)
        Replace entities and backslash escapes with literal characters.
        Parameters:
        s - based sequence to un-escape
        textMapper - replaced text mapper to update for the changed text
        Returns:
        un-escaped sequence
      • unescapeHtml

        @NotNull
        public static BasedSequence unescapeHtml​(@NotNull
                                                 BasedSequence s,
                                                 @NotNull
                                                 java.util.List<Range> ranges,
                                                 @NotNull
                                                 ReplacedTextMapper textMapper)
        Replace entities and backslash escapes with literal characters.
        Parameters:
        s - based sequence to un-escape
        textMapper - replaced text mapper to update for the changed text
        Returns:
        un-escaped sequence
      • normalizeEndWithEOL

        @NotNull
        public static java.lang.String normalizeEndWithEOL​(@NotNull
                                                           java.lang.CharSequence s)
        Normalize eol: embedded \r and \r\n are converted to \n

        Append EOL sequence if sequence does not already end in EOL

        Parameters:
        s - sequence to convert
        Returns:
        converted sequence
      • normalizeEOL

        @NotNull
        public static java.lang.String normalizeEOL​(@NotNull
                                                    java.lang.CharSequence s)
        Normalize eol: embedded \r and \r\n are converted to \n
        Parameters:
        s - sequence to convert
        Returns:
        converted sequence
      • normalizeEOL

        @NotNull
        public static java.lang.String normalizeEOL​(@NotNull
                                                    java.lang.CharSequence s,
                                                    boolean endWithEOL)
        Normalize eol: embedded \r and \r\n are converted to \n
        Parameters:
        s - sequence to convert
        endWithEOL - true if an EOL is to be appended to the end of the sequence if not already ending with one.
        Returns:
        converted sequence
      • normalizeEndWithEOL

        @NotNull
        public static BasedSequence normalizeEndWithEOL​(@NotNull
                                                        BasedSequence s,
                                                        @NotNull
                                                        ReplacedTextMapper textMapper)
        Normalize eol: embedded \r and \r\n are converted to \n

        Append EOL sequence if sequence does not already end in EOL

        Parameters:
        s - sequence to convert
        textMapper - text mapper to update for the replaced text
        Returns:
        converted sequence
      • normalizeEOL

        @NotNull
        public static BasedSequence normalizeEOL​(@NotNull
                                                 BasedSequence s,
                                                 @NotNull
                                                 ReplacedTextMapper textMapper)
        Normalize eol: embedded \r and \r\n are converted to \n
        Parameters:
        s - sequence to convert
        textMapper - text mapper to update for the replaced text
        Returns:
        converted sequence
      • normalizeEOL

        @NotNull
        public static BasedSequence normalizeEOL​(@NotNull
                                                 BasedSequence s,
                                                 @NotNull
                                                 ReplacedTextMapper textMapper,
                                                 boolean endWithEOL)
        Normalize eol: embedded \r and \r\n are converted to \n

        Append EOL sequence if sequence does not already end in EOL

        Parameters:
        s - sequence to convert
        textMapper - text mapper to update for the replaced text
        endWithEOL - whether an EOL is to be appended to the end of the sequence if it does not already end with one.
        Returns:
        converted sequence
      • percentEncodeUrl

        @NotNull
        public static java.lang.String percentEncodeUrl​(@NotNull
                                                        java.lang.CharSequence s)
        Parameters:
        s - string to encode
        Returns:
        encoded string
      • percentEncodeUrl

        @NotNull
        public static BasedSequence percentEncodeUrl​(@NotNull
                                                     BasedSequence s,
                                                     @NotNull
                                                     ReplacedTextMapper textMapper)
        Parameters:
        s - string to encode
        textMapper - text mapper to update for the replaced text
        Returns:
        encoded string
      • percentDecodeUrl

        @NotNull
        public static java.lang.String percentDecodeUrl​(@NotNull
                                                        java.lang.CharSequence s)
        Parameters:
        s - string to encode
        Returns:
        encoded string
      • percentDecodeUrl

        @NotNull
        public static BasedSequence percentDecodeUrl​(@NotNull
                                                     BasedSequence s,
                                                     @NotNull
                                                     ReplacedTextMapper textMapper)
        Parameters:
        s - string to encode
        textMapper - text mapper to update for the replaced text
        Returns:
        encoded string
      • normalizeReference

        @NotNull
        public static java.lang.String normalizeReference​(@NotNull
                                                          java.lang.CharSequence s,
                                                          boolean changeCase)
        Normalize the link reference id
        Parameters:
        s - sequence containing the link reference id
        changeCase - if true then reference will be converted to lowercase
        Returns:
        normalized link reference id
      • obfuscate

        @NotNull
        public static java.lang.String obfuscate​(@NotNull
                                                 java.lang.String email,
                                                 boolean randomize)
        e-mail obfuscation from pegdown
        Parameters:
        email - e-mail url
        randomize - true to randomize, false for testing
        Returns:
        obfuscated e-mail url
      • normalizeReferenceChars

        @NotNull
        public static java.lang.String normalizeReferenceChars​(@NotNull
                                                               java.lang.CharSequence s,
                                                               boolean changeCase)
        Get a normalized the link reference id from reference characters

        Will remove leading ![ or [ and trailing ], collapse multiple whitespaces to a space and optionally convert the id to lowercase.

        Parameters:
        s - sequence containing the link reference id
        changeCase - if true then reference will be converted to lowercase
        Returns:
        normalized link reference id
      • collapseWhitespace

        @NotNull
        public static java.lang.String collapseWhitespace​(@NotNull
                                                          java.lang.CharSequence s,
                                                          boolean trim)
        Collapse regions of multiple white spaces to a single space
        Parameters:
        s - sequence to process
        trim - true if the sequence should also be trimmed
        Returns:
        processed sequence