package org.trie4j.test;
import java.io.PrintWriter;
public class NestAwarePrinter {
public NestAwarePrinter(){
this.pw = new PrintWriter(System.out);
}
public NestAwarePrinter(PrintWriter pw, int nest){
this.nest = nest;
this.pw = pw;
}
public void print(String format, Object... args){
if(!nestPrinted){
for(int i = 0; i < nest; i++) pw.print(" ");
nestPrinted = true;
}
pw.print(String.format(format, args));
pw.flush();
}
public void println(String format, Object... args){
if(!nestPrinted){
for(int i = 0; i < nest; i++) pw.print(" ");
nestPrinted = true;
}
pw.println(String.format(format, args));
pw.flush();
nestPrinted = false;
}
public int nest(){
return nest++;
}
public int unnest(){
if(nest == 0) return 0;
return nest--;
}
private int nest;
private boolean nestPrinted;
private PrintWriter pw;
}