Class IndentPrinter


  • public class IndentPrinter
    extends Printer
    Extends Printer and adds support for indentation and line wrapping.
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      void breakLine()
      Called to print a line consisting of the text accumulated so far.
      void breakLine​(boolean preserveSpace)  
      void enterDTD()
      Called by any of the DTD handlers to enter DTD mode.
      void flush()
      Flush the output stream.
      void flushLine​(boolean preserveSpace)
      Flushes the line accumulated so far to the writer and get ready to accumulate the next line.
      int getNextIndent()  
      void indent()
      Increment the indentation for the next line.
      java.lang.String leaveDTD()
      Called by the root element to leave DTD mode and if any DTD parts were printer, will return a string with their textual content.
      void printSpace()
      Called to print a single space between text parts that may be broken into separate lines.
      void printText​(char ch)  
      void printText​(char[] chars, int start, int length)  
      void printText​(java.lang.String text)
      Called to print additional text.
      void printText​(java.lang.StringBuffer text)  
      void setNextIndent​(int indent)  
      void setThisIndent​(int indent)  
      void unindent()
      Decrement the indentation for the next line.
      • Methods inherited from class java.lang.Object

        equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Constructor Detail

      • IndentPrinter

        public IndentPrinter​(java.io.Writer writer,
                             OutputFormat format)
    • Method Detail

      • enterDTD

        public void enterDTD()
        Called by any of the DTD handlers to enter DTD mode. Once entered, all output will be accumulated in a string that can be printed as part of the document's DTD. This method may be called any number of time but will only have affect the first time it's called. To exist DTD state and get the accumulated DTD, call leaveDTD().
        Overrides:
        enterDTD in class Printer
      • leaveDTD

        public java.lang.String leaveDTD()
        Called by the root element to leave DTD mode and if any DTD parts were printer, will return a string with their textual content.
        Overrides:
        leaveDTD in class Printer
      • printText

        public void printText​(java.lang.String text)
        Called to print additional text. Each time this method is called it accumulates more text. When a space is printed (printSpace()) all the accumulated text becomes one part and is added to the accumulate line. When a line is long enough, it can be broken at its text boundary.
        Overrides:
        printText in class Printer
        Parameters:
        text - The text to print
      • printText

        public void printText​(java.lang.StringBuffer text)
        Overrides:
        printText in class Printer
      • printText

        public void printText​(char ch)
        Overrides:
        printText in class Printer
      • printText

        public void printText​(char[] chars,
                              int start,
                              int length)
        Overrides:
        printText in class Printer
      • printSpace

        public void printSpace()
        Called to print a single space between text parts that may be broken into separate lines. Must not be called to print a space when preserving spaces. The text accumulated so far with printText(java.lang.String) will be added to the accumulated line, and a space separator will be counted. If the line accumulated so far is long enough, it will be printed.
        Overrides:
        printSpace in class Printer
      • breakLine

        public void breakLine()
        Called to print a line consisting of the text accumulated so far. This is equivalent to calling printSpace() but forcing the line to print and starting a new line (printSpace() will only start a new line if the current line is long enough).
        Overrides:
        breakLine in class Printer
      • breakLine

        public void breakLine​(boolean preserveSpace)
        Overrides:
        breakLine in class Printer
      • flushLine

        public void flushLine​(boolean preserveSpace)
        Flushes the line accumulated so far to the writer and get ready to accumulate the next line. This method is called by printText(java.lang.String) and printSpace() when the accumulated line plus accumulated text are two long to fit on a given line. At the end of this method _line is empty and _spaces is zero.
        Overrides:
        flushLine in class Printer
      • flush

        public void flush()
        Flush the output stream. Must be called when done printing the document, otherwise some text might be buffered.
        Overrides:
        flush in class Printer
      • indent

        public void indent()
        Increment the indentation for the next line.
        Overrides:
        indent in class Printer
      • unindent

        public void unindent()
        Decrement the indentation for the next line.
        Overrides:
        unindent in class Printer
      • setNextIndent

        public void setNextIndent​(int indent)
        Overrides:
        setNextIndent in class Printer
      • setThisIndent

        public void setThisIndent​(int indent)
        Overrides:
        setThisIndent in class Printer