01: //WebOnSwing - Web Application Framework
02: //Copyright (C) 2003 Fernando Damian Petrola
03: //
04: //This library is free software; you can redistribute it and/or
05: //modify it under the terms of the GNU Lesser General Public
06: //License as published by the Free Software Foundation; either
07: //version 2.1 of the License, or (at your option) any later version.
08: //
09: //This library is distributed in the hope that it will be useful,
10: //but WITHOUT ANY WARRANTY; without even the implied warranty of
11: //MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
12: //Lesser General Public License for more details.
13: //
14: //You should have received a copy of the GNU Lesser General Public
15: //License along with this library; if not, write to the Free Software
16: //Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
17:
18: package net.ar.webonswing.render;
19:
20: import net.ar.webonswing.render.markup.*;
21: import net.ar.webonswing.render.templates.*;
22: import net.ar.webonswing.visitor.*;
23:
24: public class ContentRenderer implements TemplateVisitor, MarkupVisitor,
25: TextContentVisitor {
26: StringBuffer theResult = new StringBuffer();
27: TextMarkupRenderer theMarkupRenderer = new TextMarkupRenderer(
28: theResult, false);
29: TextTemplateRenderer theTemplateRenderer = new TextTemplateRenderer(
30: theResult);
31:
32: public ContentRenderer(Visitable aVisitable) {
33: render(aVisitable);
34: }
35:
36: public void visitTemplate(Template aTemplate) {
37: theTemplateRenderer.visitTemplate(aTemplate);
38: }
39:
40: public void visitTextContent(TextContent aTextContent) {
41: theResult.append(aTextContent.getContent());
42: }
43:
44: public void visit(Visitable aVisitable) {
45: aVisitable.accept(this );
46: }
47:
48: public StringBuffer render(Visitable aVisitable) {
49: visit(aVisitable);
50: return theResult;
51: }
52:
53: public String getResult() {
54: return theResult.toString();
55: }
56:
57: public void setResult(StringBuffer aBuffer) {
58: theResult = aBuffer;
59: }
60:
61: public void visitAttribute(TagAttribute anAttribute) {
62: theMarkupRenderer.visitAttribute(anAttribute);
63: }
64:
65: public void visitMarkupContainerBegin(MarkupContainer anAttribute) {
66: theMarkupRenderer.visitMarkupContainerBegin(anAttribute);
67: }
68:
69: public void visitMarkupContainerEnd(MarkupContainer anAttribute) {
70: theMarkupRenderer.visitMarkupContainerEnd(anAttribute);
71: }
72:
73: public void visitTagBegin(Tag aTag) {
74: theMarkupRenderer.visitTagBegin(aTag);
75: }
76:
77: public void visitTagContent(TagContent aContent) {
78: theMarkupRenderer.visitTagContent(aContent);
79: }
80:
81: public void visitTagEnd(Tag aTag) {
82: theMarkupRenderer.visitTagEnd(aTag);
83: }
84:
85: public void tagVisit(Tag aTag) {
86: theMarkupRenderer.tagVisit(aTag);
87: }
88:
89: public void visitAllTagAttributesEnd(Tag tag) {
90: theMarkupRenderer.visitAllTagAttributesEnd(tag);
91: }
92: }
|