1 16 package org.apache.cocoon.taglib.string; 17 18 import org.apache.cocoon.taglib.VarTransformerTagSupport; 19 import org.xml.sax.SAXException ; 20 21 25 public class TextRecordingTag extends VarTransformerTagSupport { 26 StringBuffer bodyContent = new StringBuffer (); 27 28 31 public int doEndTag(String namespaceURI, String localName, String qName) throws SAXException { 32 String text = getText(); 33 34 if (var != null) { 35 setVariable(var, text); 36 } else { 37 char[] charArray = text.toCharArray(); 38 this.xmlConsumer.characters(charArray, 0, charArray.length); 39 } 40 41 return EVAL_PAGE; 42 } 43 44 47 protected final String getText() { 48 return bodyContent.toString(); 49 } 50 51 54 public void characters(char[] ch, int start, int length) throws SAXException { 55 bodyContent.append(ch, start, length); 56 } 57 58 61 public void recycle() { 62 bodyContent.setLength(0); 63 super.recycle(); 64 } 65 66 } 67 | Popular Tags |