Coverage details for org.chwf.taglib.jutil.ElementTag

LineHitsSource
1 /*
2 Chrysalis Web Framework [http://chrysalis.sourceforge.net]
3 Copyright (c) 2002, 2003, 2004, Paul Strack
4  
5 All rights reserved.
6  
7 Redistribution and use in source and binary forms, with or without
8 modification, are permitted provided that the following conditions are met:
9  
10 1. Redistributions of source code must retain the above copyright notice, this
11 list of conditions and the following disclaimer.
12  
13 2. Redistributions in binary form must reproduce the above copyright notice,
14 this list of conditions and the following disclaimer in the documentation
15 and/or other materials provided with the distribution.
16  
17 3. Neither the name of the copyright holder nor the names of its contributors
18 may be used to endorse or promote products derived from this software without
19 specific prior written permission.
20  
21 THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
22 ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
23 WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
24 DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
25 ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
26 (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
27 LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
28 ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
29 (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
30 SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
31 */
32  
33 package org.chwf.taglib.jutil;
34  
35 import java.io.IOException;
36 import java.util.Iterator;
37  
38 import javax.servlet.jsp.JspWriter;
39 import javax.servlet.jsp.tagext.BodyContent;
40  
41 import org.chwf.taglib.base.LifeCycleBodyTagSupport;
42  
43 /**
44  * Tag handler for the <code>&lt;element&gt;</code> tag.
45  *
46  * @author <a href="mailto:pfstrack@users.sourceforge.net">Paul Strack</a>
47  */
4823public class ElementTag extends LifeCycleBodyTagSupport {
49   
50   /** Element name. */
51   private String name;
52  
53   /**
54    * Clean up data for tag handler reuse and pooling. Should be overridden in
55    * tag handler. Subclasses should always invoke their superclass's cleanup
56    * method: <code>super.cleanup()</code>
57    */
58   public void cleanup() {
591    super.cleanup();
601    this.name = null;
611  }
62  
63   /**
64    * The element name.
65    *
66    * @param name The element name.
67    */
68   public void setName(String name) {
695    this.name = name;
705  }
71  
72   /**
73    * The element name.
74    *
75    * @return The element name.
76    */
77   public String getName() {
785    return this.name;
79   }
80  
81   /**
82    * Wraps the (trimmed) tag body with the defined element.
83    *
84    * @return EVAL_PAGE
85    * @throws IOException For write errors.
86    */
87   public int doEnd() throws IOException {
88     // Begin element start tag:
893    JspWriter out = getPreviousOut();
903    out.print("<");
913    out.print(getName());
92  
933    printParameters();
94  
95     // Finish element start tag:
963    out.print(">");
97  
98     // Print (trimmed) tag body content:
993    BodyContent bodyContent = getBodyContent();
1003    if (bodyContent != null) {
1013      out.print(bodyContent.getString().trim());
102     }
103  
104     // Print element end tag:
1053    out.print("</");
1063    out.print(name);
1073    out.print(">");
108  
1093    return EVAL_PAGE;
110   }
111  
112   /**
113    * Print parameters as [name='value'] pairs.
114    *
115    * @throws IOException For write errors.
116    */
117   public void printParameters() throws IOException {
118     // Print attributes:
1194    JspWriter out = getPreviousOut();
1204    Iterator attributes = getParameterNames();
12110    while (attributes.hasNext()) {
1222      String attribute = (String) attributes.next();
1232      String value = getParameter(attribute);
1242      out.print(" ");
1252      out.print(attribute);
1262      out.print("='");
1272      out.print(value);
1282      out.print("'");
129     }
1304  }
131 }

this report was generated by version 1.0.5 of jcoverage.
visit www.jcoverage.com for updates.

copyright © 2003, jcoverage ltd. all rights reserved.
Java is a trademark of Sun Microsystems, Inc. in the United States and other countries.