KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > gnu > lists > PrintConsumer


1 // Copyright (c) 2002 Per M.A. Bothner.
2
// This is free software; for terms and warranty disclaimer see ./COPYING.
3

4 package gnu.lists;
5 import java.io.*;
6
7 /** A Consumer that extends a PrintWriter. Useful for formatting. */
8
9 public class PrintConsumer extends PrintWriter
10   implements
11   /* #ifdef JAVA5 */
12   // Appendable,
13
/* #endif */
14    Consumer
15 {
16   public PrintConsumer(Consumer out, boolean autoFlush)
17   {
18     super(out instanceof Writer ? (Writer) out : new ConsumerWriter(out),
19       autoFlush);
20   }
21
22   public PrintConsumer(OutputStream out, boolean autoFlush)
23   {
24     super(out, autoFlush);
25   }
26
27   public PrintConsumer(Writer out, boolean autoFlush)
28   {
29     super(out, autoFlush);
30   }
31
32   public PrintConsumer(Writer out)
33   {
34     super(out);
35   }
36
37   protected void startNumber()
38   {
39   }
40
41   protected void endNumber()
42   {
43   }
44
45   /* #ifdef JAVA5 */
46   // public PrintConsumer append (char c)
47
// {
48
// print(c);
49
// return this;
50
// }
51

52   // public PrintConsumer append (CharSequence csq)
53
// {
54
// if (csq == null)
55
// csq = "null";
56
// append(csq, 0, csq.length());
57
// return this;
58
// }
59

60   // public PrintConsumer append (CharSequence csq, int start, int end)
61
// {
62
// if (csq == null)
63
// csq = "null";
64
// for (int i = start; i < end; i++)
65
// append(csq.charAt(i));
66
// return this;
67
// }
68
/* #endif */
69
70   /* #ifdef use:java.lang.CharSequence */
71   public void write (CharSequence JavaDoc csq, int start, int end)
72   {
73     if (csq instanceof String JavaDoc)
74       write((String JavaDoc) csq, start, end);
75     else
76       {
77         for (int i = start; i < end; i++)
78           write(csq.charAt(i));
79       }
80   }
81   /* #endif */
82
83   public void writeBoolean(boolean v)
84   {
85     print(v);
86   }
87
88   public void writeFloat(float v)
89   {
90     startNumber();
91     print(v);
92     endNumber();
93   }
94
95   public void writeDouble(double v)
96   {
97     startNumber();
98     print(v);
99     endNumber();
100   }
101
102   public void writeInt(int v)
103   {
104     startNumber();
105     print(v);
106     endNumber();
107   }
108
109   public void writeLong(long v)
110   {
111     startNumber();
112     print(v);
113     endNumber();
114   }
115
116   public void beginDocument() { }
117
118   public void endDocument() { }
119
120
121   public void beginGroup(Object JavaDoc type) { }
122
123   public void endGroup() { }
124
125   public void beginAttribute(Object JavaDoc attrType) { }
126
127   public void endAttribute() { }
128
129   public void writeObject(Object JavaDoc v)
130   {
131     print(v);
132   }
133
134   public boolean ignoring()
135   {
136     return false;
137   }
138 }
139
Popular Tags