Class Utils


  • class Utils
    extends java.lang.Object
    Utilities.
    • Field Summary

      Fields 
      Modifier and Type Field Description
      private static int RND
      Random number generator value.
    • Constructor Summary

      Constructors 
      Constructor Description
      Utils()  
    • Method Summary

      All Methods Static Methods Concrete Methods 
      Modifier and Type Method Description
      static void appendCode​(java.lang.StringBuilder out, java.lang.String in, int start, int end)
      Appends the given string encoding special HTML characters.
      static void appendDecEntity​(java.lang.StringBuilder out, char value)
      Append the given char as a decimal HTML entity.
      static void appendHexEntity​(java.lang.StringBuilder out, char value)
      Append the given char as a hexadecimal HTML entity.
      static void appendMailto​(java.lang.StringBuilder out, java.lang.String in, int start, int end)
      Appends the given mailto link using obfuscation.
      static void appendValue​(java.lang.StringBuilder out, java.lang.String in, int start, int end)
      Appends the given string encoding special HTML characters (used in HTML attribute values).
      static void codeEncode​(java.lang.StringBuilder out, java.lang.String value, int offset)
      Appends the given string to the given StringBuilder, replacing '&', '<' and '>' by their respective HTML entities.
      static int escape​(java.lang.StringBuilder out, char ch, int pos)
      Processed the given escape sequence.
      static java.lang.String getMetaFromFence​(java.lang.String fenceLine)
      Removes trailing ` or ~ and trims spaces.
      static void getXMLTag​(java.lang.StringBuilder out, java.lang.String in)
      Extracts the tag from an XML element.
      static void getXMLTag​(java.lang.StringBuilder out, java.lang.StringBuilder in)
      Extracts the tag from an XML element.
      static int readMdLink​(java.lang.StringBuilder out, java.lang.String in, int start)
      Reads a markdown link.
      static int readMdLinkId​(java.lang.StringBuilder out, java.lang.String in, int start)
      Reads a markdown link ID.
      static int readRawUntil​(java.lang.StringBuilder out, java.lang.String in, int start, char end)
      Reads characters until the end character is encountered, taking care of HTML/XML strings.
      static int readRawUntil​(java.lang.StringBuilder out, java.lang.String in, int start, char... end)
      Reads characters until any 'end' character is encountered, ignoring escape sequences.
      static int readUntil​(java.lang.StringBuilder out, java.lang.String in, int start, char end)
      Reads characters until the 'end' character is encountered.
      static int readUntil​(java.lang.StringBuilder out, java.lang.String in, int start, char... end)
      Reads characters until any 'end' character is encountered.
      static int readXML​(java.lang.StringBuilder out, java.lang.String in, int start, boolean safeMode)
      Reads an XML element.
      static int readXMLUntil​(java.lang.StringBuilder out, java.lang.String in, int start, char... end)
      Reads characters until any 'end' character is encountered, ignoring escape sequences.
      static int rnd()
      LCG random number generator.
      static int skipSpaces​(java.lang.String in, int start)
      Skips spaces in the given String.
      • Methods inherited from class java.lang.Object

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

      • RND

        private static int RND
        Random number generator value.
    • Constructor Detail

      • Utils

        Utils()
    • Method Detail

      • rnd

        public static final int rnd()
        LCG random number generator.
        Returns:
        A pseudo random number between 0 and 1023
      • skipSpaces

        public static final int skipSpaces​(java.lang.String in,
                                           int start)
        Skips spaces in the given String.
        Parameters:
        in - Input String.
        start - Starting position.
        Returns:
        The new position or -1 if EOL has been reached.
      • escape

        public static final int escape​(java.lang.StringBuilder out,
                                       char ch,
                                       int pos)
        Processed the given escape sequence.
        Parameters:
        out - The StringBuilder to write to.
        ch - The character.
        pos - Current parsing position.
        Returns:
        The new position.
      • readUntil

        public static final int readUntil​(java.lang.StringBuilder out,
                                          java.lang.String in,
                                          int start,
                                          char... end)
        Reads characters until any 'end' character is encountered.
        Parameters:
        out - The StringBuilder to write to.
        in - The Input String.
        start - Starting position.
        end - End characters.
        Returns:
        The new position or -1 if no 'end' char was found.
      • readUntil

        public static final int readUntil​(java.lang.StringBuilder out,
                                          java.lang.String in,
                                          int start,
                                          char end)
        Reads characters until the 'end' character is encountered.
        Parameters:
        out - The StringBuilder to write to.
        in - The Input String.
        start - Starting position.
        end - End characters.
        Returns:
        The new position or -1 if no 'end' char was found.
      • readMdLink

        public static final int readMdLink​(java.lang.StringBuilder out,
                                           java.lang.String in,
                                           int start)
        Reads a markdown link.
        Parameters:
        out - The StringBuilder to write to.
        in - Input String.
        start - Starting position.
        Returns:
        The new position or -1 if this is no valid markdown link.
      • readMdLinkId

        public static final int readMdLinkId​(java.lang.StringBuilder out,
                                             java.lang.String in,
                                             int start)
        Reads a markdown link ID.
        Parameters:
        out - The StringBuilder to write to.
        in - Input String.
        start - Starting position.
        Returns:
        The new position or -1 if this is no valid markdown link ID.
      • readRawUntil

        public static final int readRawUntil​(java.lang.StringBuilder out,
                                             java.lang.String in,
                                             int start,
                                             char... end)
        Reads characters until any 'end' character is encountered, ignoring escape sequences.
        Parameters:
        out - The StringBuilder to write to.
        in - The Input String.
        start - Starting position.
        end - End characters.
        Returns:
        The new position or -1 if no 'end' char was found.
      • readRawUntil

        public static final int readRawUntil​(java.lang.StringBuilder out,
                                             java.lang.String in,
                                             int start,
                                             char end)
        Reads characters until the end character is encountered, taking care of HTML/XML strings.
        Parameters:
        out - The StringBuilder to write to.
        in - The Input String.
        start - Starting position.
        end - End characters.
        Returns:
        The new position or -1 if no 'end' char was found.
      • readXMLUntil

        public static final int readXMLUntil​(java.lang.StringBuilder out,
                                             java.lang.String in,
                                             int start,
                                             char... end)
        Reads characters until any 'end' character is encountered, ignoring escape sequences.
        Parameters:
        out - The StringBuilder to write to.
        in - The Input String.
        start - Starting position.
        end - End characters.
        Returns:
        The new position or -1 if no 'end' char was found.
      • appendCode

        public static final void appendCode​(java.lang.StringBuilder out,
                                            java.lang.String in,
                                            int start,
                                            int end)
        Appends the given string encoding special HTML characters.
        Parameters:
        out - The StringBuilder to write to.
        in - Input String.
        start - Input String starting position.
        end - Input String end position.
      • appendValue

        public static final void appendValue​(java.lang.StringBuilder out,
                                             java.lang.String in,
                                             int start,
                                             int end)
        Appends the given string encoding special HTML characters (used in HTML attribute values).
        Parameters:
        out - The StringBuilder to write to.
        in - Input String.
        start - Input String starting position.
        end - Input String end position.
      • appendDecEntity

        public static final void appendDecEntity​(java.lang.StringBuilder out,
                                                 char value)
        Append the given char as a decimal HTML entity.
        Parameters:
        out - The StringBuilder to write to.
        value - The character.
      • appendHexEntity

        public static final void appendHexEntity​(java.lang.StringBuilder out,
                                                 char value)
        Append the given char as a hexadecimal HTML entity.
        Parameters:
        out - The StringBuilder to write to.
        value - The character.
      • appendMailto

        public static final void appendMailto​(java.lang.StringBuilder out,
                                              java.lang.String in,
                                              int start,
                                              int end)
        Appends the given mailto link using obfuscation.
        Parameters:
        out - The StringBuilder to write to.
        in - Input String.
        start - Input String starting position.
        end - Input String end position.
      • getXMLTag

        public static final void getXMLTag​(java.lang.StringBuilder out,
                                           java.lang.StringBuilder in)
        Extracts the tag from an XML element.
        Parameters:
        out - The StringBuilder to write to.
        in - Input StringBuilder.
      • getXMLTag

        public static final void getXMLTag​(java.lang.StringBuilder out,
                                           java.lang.String in)
        Extracts the tag from an XML element.
        Parameters:
        out - The StringBuilder to write to.
        in - Input String.
      • readXML

        public static final int readXML​(java.lang.StringBuilder out,
                                        java.lang.String in,
                                        int start,
                                        boolean safeMode)
        Reads an XML element.
        Parameters:
        out - The StringBuilder to write to.
        in - Input String.
        start - Starting position.
        safeMode - Whether to escape unsafe HTML tags or not
        Returns:
        The new position or -1 if this is no valid XML element.
      • codeEncode

        public static final void codeEncode​(java.lang.StringBuilder out,
                                            java.lang.String value,
                                            int offset)
        Appends the given string to the given StringBuilder, replacing '&', '<' and '>' by their respective HTML entities.
        Parameters:
        out - The StringBuilder to append to.
        value - The string to append.
        offset - The character offset into value from where to start
      • getMetaFromFence

        public static final java.lang.String getMetaFromFence​(java.lang.String fenceLine)
        Removes trailing ` or ~ and trims spaces.
        Parameters:
        fenceLine - Fenced code block starting line
        Returns:
        Rest of the line after trimming and backtick or tilde removal
        Since:
        0.7