1 18 23 24 package org.apache.roller.ui.core.tags; 25 26 import org.apache.commons.logging.Log; 27 import org.apache.commons.logging.LogFactory; 28 29 import java.io.PrintWriter ; 30 import java.io.StringWriter ; 31 32 import javax.servlet.jsp.JspException ; 33 import javax.servlet.jsp.tagext.TagSupport ; 34 35 40 public abstract class HybridTag extends TagSupport 41 { 42 private static Log mLogger = 43 LogFactory.getFactory().getInstance(HybridTag.class); 44 45 public HybridTag() 46 { 47 } 48 49 public String toString() 50 { 51 String ret = null; 52 try 53 { 54 StringWriter sw = new StringWriter (); 55 doStartTag( new PrintWriter ( sw, true )); 56 doEndTag( new PrintWriter ( sw, true )); 58 ret = sw.toString(); 59 } 60 catch (Exception e) 61 { 62 ret = "Exception in tag"; 63 mLogger.error(ret,e); 64 } 65 return ret; 66 } 67 68 public String emit() 69 { 70 return toString(); 71 } 72 73 public int doStartTag() throws JspException 74 { 75 return doStartTag( new PrintWriter ( pageContext.getOut(), true) ); 76 } 77 78 79 public int doEndTag() throws JspException 80 { 81 return doEndTag( new PrintWriter ( pageContext.getOut(), true) ); 82 } 83 84 85 public int doStartTag( PrintWriter pw ) throws JspException 86 { 87 return SKIP_BODY; 88 } 89 90 91 public int doEndTag( PrintWriter pw ) throws JspException 92 { 93 return EVAL_PAGE; 94 } 95 96 } 97 | Popular Tags |