package im.actor.generator;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.OutputStreamWriter;
/**
* Created by ex3ndr on 14.11.14.
*/
public class FileGenerator {
private int depth = 0;
private OutputStreamWriter stream;
private boolean isFirstData;
public FileGenerator(String name) throws IOException {
stream = new OutputStreamWriter(new FileOutputStream(name));
}
public void increaseDepth() {
depth++;
}
public void decreaseDepth() {
depth--;
if (depth < 0) {
depth = 0;
}
}
public void append(String value) throws IOException {
if (isFirstData) {
String padding = "";
for (int i = 0; i < depth; i++) {
padding += " ";
}
stream.append(padding);
isFirstData = false;
}
stream.append(value);
}
public void appendLn(String value) throws IOException {
append(value);
stream.append("\n");
isFirstData = true;
}
public void appendLn() throws IOException {
stream.append("\n");
isFirstData = true;
}
public void close() throws IOException {
stream.close();
}
}