package org.ndogen.converter; import java.io.PrintWriter; public class IndentWriter extends SimpleWriter { private int indentSize = 2; private boolean firstInLine = true; private String indentString = ""; private int indentLevel = 0; public IndentWriter(PrintWriter writer) { super(writer); } public void setIndentSize(int indentSize) { this.indentSize = indentSize; } @Override public void print(String s) { if(firstInLine) { firstInLine = false; super.print(indentString + s); } else { super.print(s); } } @Override public void println(String s) { if(firstInLine) { super.println(indentString + s); } else { super.println(s); } firstInLine = true; } @Override public void println() { super.println(); firstInLine = true; } public void indent() { indentLevel++; createIndentString(); } public void dedent() { indentLevel--; createIndentString(); } void createIndentString() { StringBuilder sb = new StringBuilder(); for (int i = 0; i < indentLevel; i++) { sb.append(" "); } indentString = sb.toString(); } }