|
Groovy Documentation | |||||||
FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object groovy.util.IndentPrinter
public class IndentPrinter extends java.lang.Object
A helper class for printing indented text. This can be used stand-alone or, more commonly, from Builders.
By default, a PrintWriter to System.out is used as the Writer, but it is possible to change the Writer by passing a new one as a constructor argument.
Indention by default is 2 characters but can be changed by passing a different value as a constructor argument.
The following is an example usage. Note that within a "with" block you need to specify a parameter name so that this.println is not called instead of IndentPrinter.println:
new IndentPrinter(new PrintWriter(out)).with { p -> p.printIndent() p.println('parent1') p.incrementIndent() p.printIndent() p.println('child 1') p.printIndent() p.println('child 2') p.decrementIndent() p.printIndent() p.println('parent2') p.flush() }
The above example prints this to standard output:
parent1 child 1 child 2 parent2
Constructor Summary | |
IndentPrinter()
Creates an IndentPrinter backed by a PrintWriter pointing to System.out, with an indent of two spaces. |
|
IndentPrinter(java.io.Writer out)
Creates an IndentPrinter backed by the supplied Writer, with an indent of two spaces. |
|
IndentPrinter(java.io.Writer out, java.lang.String indent)
Creates an IndentPrinter backed by the supplied Writer, with a user-supplied String to be used for indenting. |
|
IndentPrinter(java.io.Writer out, java.lang.String indent, boolean addNewlines)
Creates an IndentPrinter backed by the supplied Writer, with a user-supplied String to be used for indenting and the ability to override newline handling. |
Method Summary | |
---|---|
void
|
decrementIndent()
|
void
|
flush()
|
int
|
getIndentLevel()
|
void
|
incrementIndent()
|
void
|
print(java.lang.String text)
Prints a string. |
void
|
print(char c)
Prints a character. |
void
|
printIndent()
Prints the current indent level. |
void
|
println(java.lang.String text)
Prints a string followed by an end of line character. |
void
|
println()
Prints an end-of-line character (if enabled via addNewLines property). |
void
|
setIndentLevel(int indentLevel)
|
Methods inherited from class java.lang.Object | |
---|---|
java.lang.Object#wait(long, int), java.lang.Object#wait(long), java.lang.Object#wait(), java.lang.Object#equals(java.lang.Object), java.lang.Object#toString(), java.lang.Object#hashCode(), java.lang.Object#getClass(), java.lang.Object#notify(), java.lang.Object#notifyAll() |
Constructor Detail |
---|
public IndentPrinter()
public IndentPrinter(java.io.Writer out)
out
- Writer to output to
public IndentPrinter(java.io.Writer out, java.lang.String indent)
out
- Writer to output toindent
- character(s) used to indent each line
public IndentPrinter(java.io.Writer out, java.lang.String indent, boolean addNewlines)
out
- Writer to output toindent
- character(s) used to indent each lineaddNewlines
- set to false to gobble all new lines (default true)
Method Detail |
---|
public void decrementIndent()
public void flush()
public int getIndentLevel()
public void incrementIndent()
public void print(java.lang.String text)
text
- String to be written
public void print(char c)
c
- char to be written
public void printIndent()
public void println(java.lang.String text)
text
- String to be written
public void println()
public void setIndentLevel(int indentLevel)
Groovy Documentation