KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > com > opensymphony > webwork > views > freemarker > tags > CallbackWriter


1 package com.opensymphony.webwork.views.freemarker.tags;
2
3 import com.opensymphony.webwork.components.Component;
4 import freemarker.template.TemplateModelException;
5 import freemarker.template.TransformControl;
6
7 import java.io.IOException JavaDoc;
8 import java.io.Writer JavaDoc;
9
10 /**
11  * User: plightbo
12  * Date: Jul 18, 2005
13  * Time: 8:00:24 PM
14  */

15 public class CallbackWriter extends Writer JavaDoc implements TransformControl {
16     private Component bean;
17     private Writer JavaDoc writer;
18
19     public CallbackWriter(Component bean, Writer JavaDoc writer) {
20         this.bean = bean;
21         this.writer = writer;
22     }
23
24     public void close() throws IOException JavaDoc {
25     }
26
27     public void flush() throws IOException JavaDoc {
28         writer.flush();
29     }
30
31     public void write(char cbuf[], int off, int len) throws IOException JavaDoc {
32         writer.write(cbuf, off, len);
33     }
34
35     public int onStart() throws TemplateModelException, IOException JavaDoc {
36         return EVALUATE_BODY;
37     }
38
39     public int afterBody() throws TemplateModelException, IOException JavaDoc {
40         bean.end(this);
41
42         return END_EVALUATION;
43     }
44
45     public void onError(Throwable JavaDoc throwable) throws Throwable JavaDoc {
46         throw throwable;
47     }
48
49     public Component getBean() {
50         return bean;
51     }
52 }
53
Popular Tags