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();
}
}