KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > roller > presentation > tags > HybridTag


1 /*
2  * HybridTag.java
3  *
4  * Created on February 10, 2002, 11:12 PM
5  */

6
7 package org.roller.presentation.tags;
8
9 import org.apache.commons.logging.Log;
10 import org.apache.commons.logging.LogFactory;
11
12 import java.io.PrintWriter JavaDoc;
13 import java.io.StringWriter JavaDoc;
14
15 import javax.servlet.jsp.JspException JavaDoc;
16 import javax.servlet.jsp.tagext.TagSupport JavaDoc;
17
18 /**
19  * JSP tag designed to be used from JSP page or from Velocity page.
20  * Tag must be a standalone tag, design precludes contents.
21  * @author David M Johnson
22  */

23 public abstract class HybridTag extends TagSupport JavaDoc
24 {
25     private static Log mLogger =
26         LogFactory.getFactory().getInstance(HybridTag.class);
27
28     public HybridTag()
29     {
30     }
31
32     public String JavaDoc toString()
33     {
34         String JavaDoc ret = null;
35         try
36         {
37             StringWriter JavaDoc sw = new StringWriter JavaDoc();
38             doStartTag( new PrintWriter JavaDoc( sw, true ));
39             // See, design precludes contents
40
doEndTag( new PrintWriter JavaDoc( sw, true ));
41             ret = sw.toString();
42         }
43         catch (Exception JavaDoc e)
44         {
45             ret = "Exception in tag";
46             mLogger.error(ret,e);
47         }
48         return ret;
49     }
50     
51     public String JavaDoc emit()
52     {
53         return toString();
54     }
55
56     public int doStartTag() throws JspException JavaDoc
57     {
58         return doStartTag( new PrintWriter JavaDoc( pageContext.getOut(), true) );
59     }
60
61
62     public int doEndTag() throws JspException JavaDoc
63     {
64         return doEndTag( new PrintWriter JavaDoc( pageContext.getOut(), true) );
65     }
66
67     /** Default processing of the end tag returning SKIP_BODY. */
68     public int doStartTag( PrintWriter JavaDoc pw ) throws JspException JavaDoc
69     {
70         return SKIP_BODY;
71     }
72
73     /** Default processing of the end tag returning EVAL_PAGE. */
74     public int doEndTag( PrintWriter JavaDoc pw ) throws JspException JavaDoc
75     {
76         return EVAL_PAGE;
77     }
78
79 }
80
Popular Tags