Made printer able to avoid extra blank lines.

This commit is contained in:
Evgeny Gerashchenko
2012-12-26 20:52:39 +04:00
parent d01193f8a3
commit 46b848857e
@@ -23,11 +23,19 @@ import org.jetbrains.annotations.NotNull;
*/ */
public class Printer { public class Printer {
private static final String INDENTATION_UNIT = " "; private static final String INDENTATION_UNIT = " ";
private String indent = "";
private final StringBuilder out; private final StringBuilder out;
private final int maxBlankLines;
private String indent = "";
private int blankLineCountIncludingCurrent = 0;
public Printer(@NotNull StringBuilder out) { public Printer(@NotNull StringBuilder out) {
this(out, Integer.MAX_VALUE);
}
public Printer(@NotNull StringBuilder out, int maxBlankLines) {
this.out = out; this.out = out;
this.maxBlankLines = maxBlankLines;
} }
@NotNull @NotNull
@@ -39,7 +47,10 @@ public class Printer {
} }
private void printLineSeparator() { private void printLineSeparator() {
out.append(System.getProperty("line.separator")); if (blankLineCountIncludingCurrent <= maxBlankLines) {
blankLineCountIncludingCurrent++;
out.append(System.getProperty("line.separator"));
}
} }
@NotNull @NotNull
@@ -53,6 +64,7 @@ public class Printer {
@NotNull @NotNull
public Printer printWithNoIndent(Object... objects) { public Printer printWithNoIndent(Object... objects) {
for (Object object : objects) { for (Object object : objects) {
blankLineCountIncludingCurrent = 0;
out.append(object); out.append(object);
} }