org.apache.geronimo.system.configuration
Class IndentPrinter

java.lang.Object
  extended by org.apache.geronimo.system.configuration.Printer
      extended by org.apache.geronimo.system.configuration.IndentPrinter

public class IndentPrinter
extends Printer

Extends Printer and adds support for indentation and line wrapping.

Author:
Assaf Arkin

Field Summary
 
Fields inherited from class org.apache.geronimo.system.configuration.Printer
docWriter, dtdWriter, exception, format, writer
 
Method Summary
 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.
 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(String text)
          Called to print additional text.
 void printText(StringBuffer text)
           
 void setNextIndent(int indent)
           
 void setThisIndent(int indent)
           
 void unindent()
          Decrement the indentation for the next line.
 
Methods inherited from class org.apache.geronimo.system.configuration.Printer
getException
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

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 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(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(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

getNextIndent

public int getNextIndent()
Overrides:
getNextIndent 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


Copyright © 2006 Apache Software Foundation. All Rights Reserved.