Class OutputManager


  • public class OutputManager
    extends java.lang.Object
    This class is responsible of the output of XML constructs.
    Version:
    $Id: OutputManager.java 1804130 2017-08-04 14:41:11Z ssteiner $
    • Field Summary

      Fields 
      Modifier and Type Field Description
      protected boolean canIndent
      Whether the next markup can be indented.
      protected int column
      The current column.
      protected int level
      The indentation level.
      protected int line
      The current line.
      protected boolean lineAttributes
      Whether the attribute layout must be done on a single line.
      protected java.lang.StringBuffer margin
      The margin.
      protected PrettyPrinter prettyPrinter
      The pretty printer.
      protected java.util.List startingLines
      The elements starting lines.
      protected java.io.Writer writer
      The writer used to output the tokens.
      protected java.util.List xmlSpace
      The xml:space values.
    • Constructor Summary

      Constructors 
      Constructor Description
      OutputManager​(PrettyPrinter pp, java.io.Writer w)
      Creates a new output manager.
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      protected boolean formatText​(char[] text, java.lang.String margin, boolean preceedingSpace)
      Formats the given text.
      protected boolean isWhiteSpace​(char[] text)
      Tells whether the given character represents white spaces.
      protected int newlines​(char[] text)
      Returns the number of newlines in the given char array.
      void printAttlistEnd​(char[] space)
      Prints an attribute list declaration end.
      void printAttlistStart​(char[] space, char[] name)
      Prints an attribute list declaration start.
      void printAttName​(char[] space1, char[] name, char[] space2)
      Prints an attribute declaration start.
      void printCDATASection​(char[] data)
      Prints a CDATA section.
      void printCharacter​(char c)
      Prints a single character.
      boolean printCharacterData​(char[] data, boolean first, boolean preceedingSpace)
      Prints the character data of an element content.
      void printCharacterEntityReference​(char[] code, boolean first, boolean preceedingSpace)
      Prints a character entity reference.
      void printCharacters​(char[] ca)
      Prints a char array.
      void printComment​(char[] text)
      Prints a comment.
      void printDoctypeEnd​(char[] space)
      Prints the portion of the doctype after ']'.
      void printDoctypeStart​(char[] space1, char[] root, char[] space2, java.lang.String externalId, char[] space3, char[] string1, char string1Delim, char[] space4, char[] string2, char string2Delim, char[] space5)
      Prints the portion of the doctype before '['.
      void printElementEnd​(char[] name, char[] space)
      Prints the end of an element.
      void printElementStart​(char[] name, java.util.List attributes, char[] space)
      Prints the start of an element.
      void printEntityReference​(char[] name, boolean first)
      Prints an entity reference.
      void printEnumeration​(java.util.List names)
      Prints an enumeration.
      void printNewline()
      Prints a newline.
      void printNotation​(char[] space1, char[] name, char[] space2, java.lang.String externalId, char[] space3, char[] string1, char string1Delim, char[] space4, char[] string2, char string2Delim, char[] space5)
      Prints a notation declaration.
      void printParameterEntityReference​(char[] name)
      Prints a parameter entity reference.
      void printPI​(char[] target, char[] space, char[] data)
      Prints a processing instruction.
      void printSpaces​(char[] text, boolean opt)
      Prints white spaces.
      void printString​(java.lang.String s)
      Prints a string.
      void printTopSpaces​(char[] text)
      Prints top level white spaces.
      void printXMLDecl​(char[] space1, char[] space2, char[] space3, char[] version, char versionDelim, char[] space4, char[] space5, char[] space6, char[] encoding, char encodingDelim, char[] space7, char[] space8, char[] space9, char[] standalone, char standaloneDelim, char[] space10)
      Prints an XML declaration.
      • Methods inherited from class java.lang.Object

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

      • prettyPrinter

        protected PrettyPrinter prettyPrinter
        The pretty printer.
      • writer

        protected java.io.Writer writer
        The writer used to output the tokens.
      • level

        protected int level
        The indentation level.
      • margin

        protected java.lang.StringBuffer margin
        The margin.
      • line

        protected int line
        The current line.
      • column

        protected int column
        The current column.
      • xmlSpace

        protected java.util.List xmlSpace
        The xml:space values.
      • canIndent

        protected boolean canIndent
        Whether the next markup can be indented.
      • startingLines

        protected java.util.List startingLines
        The elements starting lines.
      • lineAttributes

        protected boolean lineAttributes
        Whether the attribute layout must be done on a single line.
    • Constructor Detail

      • OutputManager

        public OutputManager​(PrettyPrinter pp,
                             java.io.Writer w)
        Creates a new output manager.
        Parameters:
        pp - The PrettyPrinter used for formatting the output.
        w - The Writer to write the output to.
    • Method Detail

      • printCharacter

        public void printCharacter​(char c)
                            throws java.io.IOException
        Prints a single character.
        Throws:
        java.io.IOException
      • printNewline

        public void printNewline()
                          throws java.io.IOException
        Prints a newline.
        Throws:
        java.io.IOException
      • printString

        public void printString​(java.lang.String s)
                         throws java.io.IOException
        Prints a string.
        Throws:
        java.io.IOException
      • printCharacters

        public void printCharacters​(char[] ca)
                             throws java.io.IOException
        Prints a char array.
        Throws:
        java.io.IOException
      • printSpaces

        public void printSpaces​(char[] text,
                                boolean opt)
                         throws java.io.IOException
        Prints white spaces.
        Parameters:
        text - The space text.
        opt - whether the space is optional.
        Throws:
        java.io.IOException
      • printTopSpaces

        public void printTopSpaces​(char[] text)
                            throws java.io.IOException
        Prints top level white spaces.
        Parameters:
        text - The space text.
        Throws:
        java.io.IOException
      • printComment

        public void printComment​(char[] text)
                          throws java.io.IOException
        Prints a comment.
        Parameters:
        text - The comment text.
        Throws:
        java.io.IOException
      • printXMLDecl

        public void printXMLDecl​(char[] space1,
                                 char[] space2,
                                 char[] space3,
                                 char[] version,
                                 char versionDelim,
                                 char[] space4,
                                 char[] space5,
                                 char[] space6,
                                 char[] encoding,
                                 char encodingDelim,
                                 char[] space7,
                                 char[] space8,
                                 char[] space9,
                                 char[] standalone,
                                 char standaloneDelim,
                                 char[] space10)
                          throws java.io.IOException
        Prints an XML declaration.
        Throws:
        java.io.IOException
      • printPI

        public void printPI​(char[] target,
                            char[] space,
                            char[] data)
                     throws java.io.IOException
        Prints a processing instruction.
        Throws:
        java.io.IOException
      • printDoctypeStart

        public void printDoctypeStart​(char[] space1,
                                      char[] root,
                                      char[] space2,
                                      java.lang.String externalId,
                                      char[] space3,
                                      char[] string1,
                                      char string1Delim,
                                      char[] space4,
                                      char[] string2,
                                      char string2Delim,
                                      char[] space5)
                               throws java.io.IOException
        Prints the portion of the doctype before '['.
        Throws:
        java.io.IOException
      • printDoctypeEnd

        public void printDoctypeEnd​(char[] space)
                             throws java.io.IOException
        Prints the portion of the doctype after ']'.
        Throws:
        java.io.IOException
      • printParameterEntityReference

        public void printParameterEntityReference​(char[] name)
                                           throws java.io.IOException
        Prints a parameter entity reference.
        Throws:
        java.io.IOException
      • printEntityReference

        public void printEntityReference​(char[] name,
                                         boolean first)
                                  throws java.io.IOException
        Prints an entity reference.
        Throws:
        java.io.IOException
      • printCharacterEntityReference

        public void printCharacterEntityReference​(char[] code,
                                                  boolean first,
                                                  boolean preceedingSpace)
                                           throws java.io.IOException
        Prints a character entity reference.
        Throws:
        java.io.IOException
      • printElementStart

        public void printElementStart​(char[] name,
                                      java.util.List attributes,
                                      char[] space)
                               throws java.io.IOException
        Prints the start of an element.
        Throws:
        java.io.IOException
      • printElementEnd

        public void printElementEnd​(char[] name,
                                    char[] space)
                             throws java.io.IOException
        Prints the end of an element.
        Throws:
        java.io.IOException
      • printCharacterData

        public boolean printCharacterData​(char[] data,
                                          boolean first,
                                          boolean preceedingSpace)
                                   throws java.io.IOException
        Prints the character data of an element content.
        Throws:
        java.io.IOException
      • printCDATASection

        public void printCDATASection​(char[] data)
                               throws java.io.IOException
        Prints a CDATA section.
        Throws:
        java.io.IOException
      • printNotation

        public void printNotation​(char[] space1,
                                  char[] name,
                                  char[] space2,
                                  java.lang.String externalId,
                                  char[] space3,
                                  char[] string1,
                                  char string1Delim,
                                  char[] space4,
                                  char[] string2,
                                  char string2Delim,
                                  char[] space5)
                           throws java.io.IOException
        Prints a notation declaration.
        Throws:
        java.io.IOException
      • printAttlistStart

        public void printAttlistStart​(char[] space,
                                      char[] name)
                               throws java.io.IOException
        Prints an attribute list declaration start.
        Throws:
        java.io.IOException
      • printAttlistEnd

        public void printAttlistEnd​(char[] space)
                             throws java.io.IOException
        Prints an attribute list declaration end.
        Throws:
        java.io.IOException
      • printAttName

        public void printAttName​(char[] space1,
                                 char[] name,
                                 char[] space2)
                          throws java.io.IOException
        Prints an attribute declaration start.
        Throws:
        java.io.IOException
      • printEnumeration

        public void printEnumeration​(java.util.List names)
                              throws java.io.IOException
        Prints an enumeration.
        Throws:
        java.io.IOException
      • newlines

        protected int newlines​(char[] text)
        Returns the number of newlines in the given char array.
      • isWhiteSpace

        protected boolean isWhiteSpace​(char[] text)
        Tells whether the given character represents white spaces.
      • formatText

        protected boolean formatText​(char[] text,
                                     java.lang.String margin,
                                     boolean preceedingSpace)
                              throws java.io.IOException
        Formats the given text.
        Throws:
        java.io.IOException