1 32 33 package com.jeantessier.classreader; 34 35 import java.io.*; 36 import java.util.*; 37 38 public abstract class Printer extends VisitorBase { 39 private PrintWriter out; 40 private String indentText = " "; 41 private int indentLevel = 0; 42 43 public Printer(PrintWriter out) { 44 this.out = out; 45 } 46 47 public String getIndentText() { 48 return indentText; 49 } 50 51 public void setIndentText(String indentText) { 52 this.indentText = indentText; 53 } 54 55 protected Printer append(boolean b) { 56 out.print(b); 57 return this; 58 } 59 60 protected Printer append(char c) { 61 out.print(c); 62 return this; 63 } 64 65 protected Printer append(char[] s) { 66 out.print(s); 67 return this; 68 } 69 70 protected Printer append(double d) { 71 out.print(d); 72 return this; 73 } 74 75 protected Printer append(float f) { 76 out.print(f); 77 return this; 78 } 79 80 protected Printer append(int i) { 81 out.print(i); 82 return this; 83 } 84 85 protected Printer append(long l) { 86 out.print(l); 87 return this; 88 } 89 90 protected Printer append(Object obj) { 91 out.print(obj); 92 return this; 93 } 94 95 protected Printer append(String s) { 96 out.print(s); 97 return this; 98 } 99 100 protected Printer indent() { 101 for (int i=0; i<indentLevel; i++) { 102 append(getIndentText()); 103 } 104 105 return this; 106 } 107 108 protected Printer eol() { 109 out.println(); 110 return this; 111 } 112 113 protected void raiseIndent() { 114 indentLevel++; 115 } 116 117 protected void lowerIndent() { 118 indentLevel--; 119 } 120 } 121 | Popular Tags |