View Javadoc

1   /*
2   MadCaching is a Tile Caching solution
3   Copyright (C) 2005  Mac Vu
4   
5   This program is free software; you can redistribute it and/or
6   modify it under the terms of the GNU General Public License
7   as published by the Free Software Foundation; either version 2
8   of the License, or (at your option) any later version.
9   
10  This program is distributed in the hope that it will be useful,
11  but WITHOUT ANY WARRANTY; without even the implied warranty of
12  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
13  GNU General Public License for more details.
14  
15  You should have received a copy of the GNU General Public License
16  along with this program; if not, write to the Free Software
17  Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
18   */
19  package com.macvu.tiles.capture;
20  
21  import org.apache.commons.logging.Log;
22  import org.apache.commons.logging.LogFactory;
23  
24  import java.io.OutputStream;
25  import java.io.PrintWriter;
26  import java.io.Writer;
27  
28  public class PrintWriterWrapper extends PrintWriter {
29  
30      protected static Log log = LogFactory.getLog(CacheablesCaptureWrapper.class);
31  
32      CacheContent cacheContent;
33  
34      protected PrintWriterWrapper(Writer out, boolean autoFlush) {
35          super(out, autoFlush);
36  
37          if (log.isDebugEnabled()) {
38              log.debug("PrintWriterWrapper: PrintWriterWrapper(Writer out, boolean autoFlush).");
39          }
40      }
41  
42      protected PrintWriterWrapper(Writer out) {
43          super(out);
44  
45          if (log.isDebugEnabled()) {
46              log.debug("PrintWriterWrapper: PrintWriterWrapper(Writer out).");
47          }
48      }
49  
50      protected PrintWriterWrapper(OutputStream out, boolean autoFlush) {
51          super(out, autoFlush);
52  
53          if (log.isDebugEnabled()) {
54              log.debug("PrintWriterWrapper: PrintWriterWrapper(OutputStream out, boolean autoFlush).");
55          }
56      }
57  
58      public PrintWriterWrapper(PrintWriter out, CacheContent cacheContent) {
59          super(out);
60  
61          if (log.isDebugEnabled()) {
62              log.debug("PrintWriterWrapper: rintWriterWrapper(OutputStream out).");
63          }
64  
65          this.cacheContent = cacheContent;
66      }
67  
68      public boolean checkError() {
69          if (log.isDebugEnabled()) {
70              log.debug("PrintWriterWrapper: checkError().");
71          }
72  
73          return super.checkError();
74      }
75  
76  
77  
78      public void close() {
79          if (log.isDebugEnabled()) {
80              log.debug("PrintWriterWrapper: close().");
81          }
82  
83          super.close();
84      }
85  
86      public void flush() {
87          if (log.isDebugEnabled()) {
88              log.debug("PrintWriterWrapper: flush().");
89          }
90  
91          super.flush();
92          cacheContent.getWriter().flush();
93      }
94  
95      public void print(boolean b) {
96          if (log.isDebugEnabled()) {
97              log.debug("PrintWriterWrapper: print(boolean b).");
98          }
99  
100         super.print(b);
101         cacheContent.getWriter().print(b);
102     }
103 
104     public void print(char c) {
105         if (log.isDebugEnabled()) {
106             log.debug("PrintWriterWrapper: print(char c).");
107         }
108 
109         super.print(c);
110         cacheContent.getWriter().print(c);
111     }
112 
113     public void write(String s, int off, int len) {
114         if (log.isDebugEnabled()) {
115             log.debug("PrintWriterWrapper: write(String s, int off, int len).");
116         }
117 
118         super.write(s, off, len);
119         cacheContent.getWriter().write(s, off, len);
120     }
121 
122     public void write(String s) {
123 
124         if (log.isDebugEnabled()) {
125 
126             log.debug("PrintWriterWrapper: write(String s)");
127 
128         }
129 
130 
131 
132         super.write(s);
133 
134         cacheContent.getWriter().write(s);
135 
136     }
137 
138 
139 
140     public void write(int c) {
141 
142         if (log.isDebugEnabled()) {
143 
144             log.debug("PrintWriterWrapper: write(int c).");
145 
146         }
147 
148 
149 
150         super.write(c);
151 
152         cacheContent.getWriter().write(c);
153 
154     }
155 
156     public void write(char buf[], int off, int len) {
157         if (log.isDebugEnabled()) {
158             log.debug("PrintWriterWrapper: write(char buf[], int off, int len)." + off + "/" + len);
159         }
160         super.write(buf, off, len);
161         cacheContent.getWriter().write(buf, off, len);
162     }
163 
164     public void write(char buf[]) {
165         if (log.isDebugEnabled()) {
166             log.debug("PrintWriterWrapper: write(char buf[]).");
167         }
168 
169         super.write(buf);
170         cacheContent.getWriter().write(buf);
171     }
172 
173     protected void setError() {
174         if (log.isDebugEnabled()) {
175             log.debug("PrintWriterWrapper: setError().");
176         }
177 
178         super.setError();
179     }
180 
181     public void println(String x) {
182         if (log.isDebugEnabled()) {
183             log.debug("PrintWriterWrapper: println(String x).");
184         }
185 
186         super.println(x);
187         cacheContent.getWriter().println(x);
188     }
189 
190     public void println(Object x) {
191         if (log.isDebugEnabled()) {
192             log.debug("PrintWriterWrapper: println(Object x).");
193         }
194 
195         super.println(x);
196         cacheContent.getWriter().println(x);
197     }
198 
199     public void println(long x) {
200         if (log.isDebugEnabled()) {
201             log.debug("PrintWriterWrapper: println(long x).");
202         }
203 
204         super.println(x);
205         cacheContent.getWriter().println(x);
206     }
207 
208     public void println(int x) {
209         if (log.isDebugEnabled()) {
210             log.debug("PrintWriterWrapper: println(int x).");
211         }
212 
213         super.println(x);
214         cacheContent.getWriter().println(x);
215     }
216 
217     public void println(float x) {
218         if (log.isDebugEnabled()) {
219             log.debug("PrintWriterWrapper: println(float x).");
220         }
221 
222         super.println(x);
223         cacheContent.getWriter().println(x);
224     }
225 
226     public void println(double x) {
227         if (log.isDebugEnabled()) {
228             log.debug("PrintWriterWrapper: println(double x).");
229         }
230 
231         super.println(x);
232         cacheContent.getWriter().println(x);
233     }
234 
235     public void println(char x[]) {
236         if (log.isDebugEnabled()) {
237             log.debug("PrintWriterWrapper: println(char x[])).");
238         }
239 
240         super.println(x);
241         cacheContent.getWriter().println(x);
242     }
243 
244     public void println(char x) {
245         if (log.isDebugEnabled()) {
246             log.debug("PrintWriterWrapper: println(char x).");
247         }
248 
249         super.println(x);
250         cacheContent.getWriter().println(x);
251     }
252 
253     public void println(boolean x) {
254         if (log.isDebugEnabled()) {
255             log.debug("PrintWriterWrapper: println(boolean x).");
256         }
257 
258         super.println(x);
259         cacheContent.getWriter().println(x);
260     }
261 
262     public void println() {
263         if (log.isDebugEnabled()) {
264             log.debug("PrintWriterWrapper: println().");
265         }
266 
267         super.println();
268         cacheContent.getWriter().println();
269     }
270 
271     public void print(String s) {
272         if (log.isDebugEnabled()) {
273             log.debug("PrintWriterWrapper: print(String s).");
274         }
275 
276         super.print(s);
277         cacheContent.getWriter().println(s);
278     }
279 
280     public void print(char s[]) {
281         if (log.isDebugEnabled()) {
282             log.debug("PrintWriterWrapper: print(char s[]).");
283         }
284 
285         super.print(s);
286         cacheContent.getWriter().println(s);
287     }
288 
289     public void print(Object obj) {
290         if (log.isDebugEnabled()) {
291             log.debug("PrintWriterWrapper: print(Object obj).");
292         }
293 
294         super.print(obj);
295         cacheContent.getWriter().print(obj);
296     }
297 
298     public void print(long l) {
299         if (log.isDebugEnabled()) {
300             log.debug("PrintWriterWrapper: print(long l).");
301         }
302 
303         super.print(l);
304         cacheContent.getWriter().print(l);
305     }
306 
307     public void print(int i) {
308         if (log.isDebugEnabled()) {
309             log.debug("PrintWriterWrapper: print(int i).");
310         }
311 
312         super.print(i);
313         cacheContent.getWriter().print(i);
314     }
315 
316     public void print(float f) {
317         if (log.isDebugEnabled()) {
318             log.debug("PrintWriterWrapper: print(float f).");
319         }
320 
321         super.print(f);
322         cacheContent.getWriter().print(f);
323     }
324 
325     public void print(double d) {
326         if (log.isDebugEnabled()) {
327             log.debug("PrintWriterWrapper: print(double d).");
328         }
329 
330         super.print(d);
331         cacheContent.getWriter().print(d);
332     }
333 }
334