|
1 |
| package edu.rice.cs.javalanglevels.tree; |
|
2 |
| |
|
3 |
| |
|
4 |
| |
|
5 |
| |
|
6 |
| public class TabPrintWriter extends java.io.PrintWriter { |
|
7 |
| private final int _tabSize; |
|
8 |
| private final java.lang.String _tabString; |
|
9 |
| private int _numIndents = 0; |
|
10 |
| |
|
11 |
20
| public TabPrintWriter(java.io.Writer writer, int tabSize) {
|
|
12 |
20
| super(writer);
|
|
13 |
20
| char[] c = new char[tabSize];
|
|
14 |
20
| for(int i = 0; i < tabSize; i++) {
|
|
15 |
40
| c[i] = ' ';
|
|
16 |
| } |
|
17 |
20
| _tabString = new java.lang.String(c);
|
|
18 |
20
| _tabSize = tabSize;
|
|
19 |
| } |
|
20 |
| |
|
21 |
| |
|
22 |
4220
| public void indent() { _numIndents++; }
|
|
23 |
4220
| public void unindent() { _numIndents--; }
|
|
24 |
| |
|
25 |
9247
| public void startLine(java.lang.Object s) {
|
|
26 |
9247
| startLine();
|
|
27 |
9247
| print(s);
|
|
28 |
| } |
|
29 |
| |
|
30 |
9247
| public void startLine() {
|
|
31 |
9247
| println();
|
|
32 |
9247
| for (int i = 0; i < _numIndents; i++) {
|
|
33 |
100357
| print(_tabString);
|
|
34 |
| } |
|
35 |
| } |
|
36 |
| } |