KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > mmbase > bridge > jsp > taglib > containers > FunctionContainerTag


1 /*
2
3 This software is OSI Certified Open Source Software.
4 OSI Certified is a certification mark of the Open Source Initiative.
5
6 The license (Mozilla version 1.0) can be read at the MMBase site.
7 See http://www.MMBase.org/license
8
9 */

10 package org.mmbase.bridge.jsp.taglib.containers;
11
12 import java.util.*;
13
14 import javax.servlet.jsp.JspTagException JavaDoc;
15
16 import org.mmbase.util.Entry;
17 import org.mmbase.bridge.jsp.taglib.functions.AbstractFunctionTag;
18 import org.mmbase.bridge.jsp.taglib.util.Attribute;
19 import org.mmbase.bridge.jsp.taglib.util.Referids;
20
21 /**
22  * Function Container can be used around Function (-like) Tags.
23  *
24  * @author Michiel Meeuwissen
25  * @since MMBase-1.7
26  * @version $Id: FunctionContainerTag.java,v 1.14 2006/05/17 13:26:07 michiel Exp $
27  */

28 public class FunctionContainerTag extends AbstractFunctionTag implements FunctionContainer {
29     //private static final Logger log = Logging.getLoggerInstance(FunctionContainerTag.class);
30

31     private List parameters ;
32
33     // javadoc inherited (from ParamHandler)
34
public void addParameter(String JavaDoc key, Object JavaDoc value) throws JspTagException JavaDoc {
35         parameters.add(new Entry(key, value));
36     }
37
38     // javadoc inherited (from FunctionContainer)
39
public List getParameters() {
40         return Collections.unmodifiableList(parameters);
41     }
42
43
44     public String JavaDoc getName() throws JspTagException JavaDoc {
45         return name.getString(this);
46     }
47
48     public int doStartTag() throws JspTagException JavaDoc {
49         parameters = new ArrayList();
50         if (referids != Attribute.NULL) {
51             parameters.addAll(Referids.getReferids(referids, this).entrySet());
52         }
53         return EVAL_BODY;
54     }
55
56     public int doAfterBody() throws JspTagException JavaDoc {
57         if (EVAL_BODY == EVAL_BODY_BUFFERED) {
58             try {
59                 if (bodyContent != null) {
60                     bodyContent.writeOut(bodyContent.getEnclosingWriter());
61                 }
62             } catch (java.io.IOException JavaDoc ioe){
63                 throw new JspTagException JavaDoc(ioe.toString());
64             }
65         }
66         return SKIP_BODY;
67     }
68     public int doEndTag() throws JspTagException JavaDoc {
69         parameters = null;
70         return super.doEndTag();
71     }
72
73
74 }
75
Popular Tags