Class Emitter


  • class Emitter
    extends java.lang.Object
    Emitter class responsible for generating HTML output.
    • Constructor Summary

      Constructors 
      Constructor Description
      Emitter​(Configuration config)
      Constructor.
    • Method Summary

      All Methods Static Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      void addLinkRef​(java.lang.String key, LinkRef linkRef)
      Adds a LinkRef to this set of LinkRefs.
      private static int checkEntity​(java.lang.StringBuilder out, java.lang.String in, int start)
      Check if this is a valid XML/HTML entity.
      private int checkHtml​(java.lang.StringBuilder out, java.lang.String in, int start)
      Check if there is a valid HTML tag here.
      private int checkLink​(java.lang.StringBuilder out, java.lang.String in, int start, MarkToken token)
      Checks if there is a valid markdown link definition.
      void emit​(java.lang.StringBuilder out, Block root)
      Transforms the given block recursively into HTML.
      private void emitCodeLines​(java.lang.StringBuilder out, Line lines, java.lang.String meta, boolean removeIndent)
      Writes a code block into the StringBuilder.
      private void emitLines​(java.lang.StringBuilder out, Block block)
      Transforms lines into HTML.
      private void emitMarkedLines​(java.lang.StringBuilder out, Line lines)
      Writes a set of markdown lines into the StringBuilder.
      private void emitRawLines​(java.lang.StringBuilder out, Line lines)
      Writes a set of raw lines into the StringBuilder.
      private int findToken​(java.lang.String in, int start, MarkToken token)
      Finds the position of the given Token in the given String.
      private MarkToken getToken​(java.lang.String in, int pos)
      Check if there is any markdown Token.
      private int recursiveEmitLine​(java.lang.StringBuilder out, java.lang.String in, int start, MarkToken token)
      Recursively scans through the given line, taking care of any markdown stuff.
      private static char whitespaceToSpace​(char c)
      Turns every whitespace character into a space character.
      • Methods inherited from class java.lang.Object

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

      • linkRefs

        private final java.util.HashMap<java.lang.String,​LinkRef> linkRefs
        Link references.
      • useExtensions

        public boolean useExtensions
        Extension flag.
    • Constructor Detail

    • Method Detail

      • addLinkRef

        public void addLinkRef​(java.lang.String key,
                               LinkRef linkRef)
        Adds a LinkRef to this set of LinkRefs.
        Parameters:
        key - The key/id.
        linkRef - The LinkRef.
      • emit

        public void emit​(java.lang.StringBuilder out,
                         Block root)
        Transforms the given block recursively into HTML.
        Parameters:
        out - The StringBuilder to write to.
        root - The Block to process.
      • emitLines

        private void emitLines​(java.lang.StringBuilder out,
                               Block block)
        Transforms lines into HTML.
        Parameters:
        out - The StringBuilder to write to.
        block - The Block to process.
      • findToken

        private int findToken​(java.lang.String in,
                              int start,
                              MarkToken token)
        Finds the position of the given Token in the given String.
        Parameters:
        in - The String to search on.
        start - The starting character position.
        token - The token to find.
        Returns:
        The position of the token or -1 if none could be found.
      • checkLink

        private int checkLink​(java.lang.StringBuilder out,
                              java.lang.String in,
                              int start,
                              MarkToken token)
        Checks if there is a valid markdown link definition.
        Parameters:
        out - The StringBuilder containing the generated output.
        in - Input String.
        start - Starting position.
        token - Either LINK or IMAGE.
        Returns:
        The new position or -1 if there is no valid markdown link.
      • checkHtml

        private int checkHtml​(java.lang.StringBuilder out,
                              java.lang.String in,
                              int start)
        Check if there is a valid HTML tag here. This method also transforms auto links and mailto auto links.
        Parameters:
        out - The StringBuilder to write to.
        in - Input String.
        start - Starting position.
        Returns:
        The new position or -1 if nothing valid has been found.
      • checkEntity

        private static int checkEntity​(java.lang.StringBuilder out,
                                       java.lang.String in,
                                       int start)
        Check if this is a valid XML/HTML entity.
        Parameters:
        out - The StringBuilder to write to.
        in - Input String.
        start - Starting position
        Returns:
        The new position or -1 if this entity in invalid.
      • recursiveEmitLine

        private int recursiveEmitLine​(java.lang.StringBuilder out,
                                      java.lang.String in,
                                      int start,
                                      MarkToken token)
        Recursively scans through the given line, taking care of any markdown stuff.
        Parameters:
        out - The StringBuilder to write to.
        in - Input String.
        start - Start position.
        token - The matching Token (for e.g. '*')
        Returns:
        The position of the matching Token or -1 if token was NONE or no Token could be found.
      • whitespaceToSpace

        private static char whitespaceToSpace​(char c)
        Turns every whitespace character into a space character.
        Parameters:
        c - Character to check
        Returns:
        32 is c was a whitespace, c otherwise
      • getToken

        private MarkToken getToken​(java.lang.String in,
                                   int pos)
        Check if there is any markdown Token.
        Parameters:
        in - Input String.
        pos - Starting position.
        Returns:
        The Token.
      • emitMarkedLines

        private void emitMarkedLines​(java.lang.StringBuilder out,
                                     Line lines)
        Writes a set of markdown lines into the StringBuilder.
        Parameters:
        out - The StringBuilder to write to.
        lines - The lines to write.
      • emitRawLines

        private void emitRawLines​(java.lang.StringBuilder out,
                                  Line lines)
        Writes a set of raw lines into the StringBuilder.
        Parameters:
        out - The StringBuilder to write to.
        lines - The lines to write.
      • emitCodeLines

        private void emitCodeLines​(java.lang.StringBuilder out,
                                   Line lines,
                                   java.lang.String meta,
                                   boolean removeIndent)
        Writes a code block into the StringBuilder.
        Parameters:
        out - The StringBuilder to write to.
        lines - The lines to write.
        meta - Meta information.