Class PageParser


  • public class PageParser
    extends java.lang.Object
    A page parser can parse an HTML page and replace the tags there. This class is used by the H2 Console.
    • Field Summary

      Fields 
      Modifier and Type Field Description
      private int len  
      private java.lang.String page  
      private int pos  
      private java.lang.StringBuilder result  
      private java.util.Map<java.lang.String,​java.lang.Object> settings  
      private static int TAB_WIDTH  
    • Constructor Summary

      Constructors 
      Modifier Constructor Description
      private PageParser​(java.lang.String page, java.util.Map<java.lang.String,​java.lang.Object> settings, int pos)  
    • Method Summary

      All Methods Static Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      static java.lang.String escapeHtml​(java.lang.String s)
      Convert data to HTML, including newlines and multiple spaces.
      private static java.lang.String escapeHtml​(java.lang.String s, boolean convertBreakAndSpace)  
      (package private) static java.lang.String escapeHtmlData​(java.lang.String s)
      Convert data to HTML, but don't convert newlines and multiple spaces.
      (package private) static java.lang.String escapeJavaScript​(java.lang.String s)
      Escape text as a the javascript string.
      private java.lang.Object get​(java.lang.String item)  
      static java.lang.String parse​(java.lang.String page, java.util.Map<java.lang.String,​java.lang.Object> settings)
      Replace the tags in the HTML page with the given settings.
      private void parseAll()  
      private java.lang.String parseBlockUntil​(java.lang.String end)  
      private void read​(java.lang.String s)  
      private boolean readIf​(java.lang.String s)  
      private java.lang.String readParam​(java.lang.String name)  
      private java.lang.String replaceTags()  
      private void replaceTags​(java.lang.String s)  
      private void setError​(int i)  
      private void skipSpaces()  
      • Methods inherited from class java.lang.Object

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

      • page

        private final java.lang.String page
      • pos

        private int pos
      • settings

        private final java.util.Map<java.lang.String,​java.lang.Object> settings
      • len

        private final int len
      • result

        private java.lang.StringBuilder result
    • Constructor Detail

      • PageParser

        private PageParser​(java.lang.String page,
                           java.util.Map<java.lang.String,​java.lang.Object> settings,
                           int pos)
    • Method Detail

      • parse

        public static java.lang.String parse​(java.lang.String page,
                                             java.util.Map<java.lang.String,​java.lang.Object> settings)
        Replace the tags in the HTML page with the given settings.
        Parameters:
        page - the HTML page
        settings - the settings
        Returns:
        the converted page
      • setError

        private void setError​(int i)
      • parseBlockUntil

        private java.lang.String parseBlockUntil​(java.lang.String end)
                                          throws java.text.ParseException
        Throws:
        java.text.ParseException
      • replaceTags

        private java.lang.String replaceTags()
      • parseAll

        private void parseAll()
                       throws java.text.ParseException
        Throws:
        java.text.ParseException
      • get

        private java.lang.Object get​(java.lang.String item)
      • replaceTags

        private void replaceTags​(java.lang.String s)
      • readParam

        private java.lang.String readParam​(java.lang.String name)
                                    throws java.text.ParseException
        Throws:
        java.text.ParseException
      • skipSpaces

        private void skipSpaces()
      • read

        private void read​(java.lang.String s)
                   throws java.text.ParseException
        Throws:
        java.text.ParseException
      • readIf

        private boolean readIf​(java.lang.String s)
      • escapeHtmlData

        static java.lang.String escapeHtmlData​(java.lang.String s)
        Convert data to HTML, but don't convert newlines and multiple spaces.
        Parameters:
        s - the data
        Returns:
        the escaped html text
      • escapeHtml

        public static java.lang.String escapeHtml​(java.lang.String s)
        Convert data to HTML, including newlines and multiple spaces.
        Parameters:
        s - the data
        Returns:
        the escaped html text
      • escapeHtml

        private static java.lang.String escapeHtml​(java.lang.String s,
                                                   boolean convertBreakAndSpace)
      • escapeJavaScript

        static java.lang.String escapeJavaScript​(java.lang.String s)
        Escape text as a the javascript string.
        Parameters:
        s - the text
        Returns:
        the javascript string