KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > apache > ecs > html > Comment


1 /*
2  * ====================================================================
3  *
4  * The Apache Software License, Version 1.1
5  *
6  * Copyright (c) 1999-2003 The Apache Software Foundation. All rights
7  * reserved.
8  *
9  * Redistribution and use in source and binary forms, with or without
10  * modification, are permitted provided that the following conditions
11  * are met:
12  *
13  * 1. Redistributions of source code must retain the above copyright
14  * notice, this list of conditions and the following disclaimer.
15  *
16  * 2. Redistributions in binary form must reproduce the above copyright
17  * notice, this list of conditions and the following disclaimer in
18  * the documentation and/or other materials provided with the
19  * distribution.
20  *
21  * 3. The end-user documentation included with the redistribution, if
22  * any, must include the following acknowlegement:
23  * "This product includes software developed by the
24  * Apache Software Foundation (http://www.apache.org/)."
25  * Alternately, this acknowlegement may appear in the software itself,
26  * if and wherever such third-party acknowlegements normally appear.
27  *
28  * 4. The names "The Jakarta Project", "Jakarta Element Construction Set",
29  * "Jakarta ECS" , and "Apache Software Foundation" must not be used
30  * to endorse or promote products derived
31  * from this software without prior written permission. For written
32  * permission, please contact apache@apache.org.
33  *
34  * 5. Products derived from this software may not be called "Apache",
35  * "Jakarta Element Construction Set" nor "Jakarta ECS" nor may "Apache"
36  * appear in their names without prior written permission of the Apache Group.
37  *
38  * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
39  * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
40  * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
41  * DISCLAIMED. IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
42  * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
43  * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
44  * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
45  * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
46  * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
47  * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
48  * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
49  * SUCH DAMAGE.
50  * ====================================================================
51  *
52  * This software consists of voluntary contributions made by many
53  * individuals on behalf of the Apache Software Foundation. For more
54  * information on the Apache Software Foundation, please see
55  * <http://www.apache.org/>.
56  *
57  */

58 package org.apache.ecs.html;
59
60 import org.apache.ecs.*;
61
62 import java.io.OutputStream JavaDoc;
63 import java.io.PrintWriter JavaDoc;
64 import java.io.IOException JavaDoc;
65 import java.io.ByteArrayOutputStream JavaDoc;
66 import java.io.BufferedOutputStream JavaDoc;
67 import java.util.Enumeration JavaDoc;
68 import java.util.Vector JavaDoc;
69 import org.apache.ecs.storage.Hash;
70
71 /**
72     This class defines a comment &lt;-- VALUE --&gt; Element.
73     @version $Id: Comment.java,v 1.8 2003/04/27 09:21:31 rdonkin Exp $
74     @author <a HREF="mailto:snagy@servletapi.com">Stephan Nagy</a>
75     @author <a HREF="mailto:jon@clearink.com">Jon S. Stevens</a>
76 */

77 public class Comment extends MultiPartElement implements Printable
78 {
79
80     /**
81         private initializer.
82     */

83     {
84         setElementType("--");
85         setBeginStartModifier('!');
86     }
87
88     /**
89         Default constructor use set* methods.
90     */

91     public Comment()
92     {
93     }
94
95     /**
96         Create a comment object containg this element.
97     */

98     public Comment(String JavaDoc element)
99     {
100         addElement(element);
101     }
102
103     /**
104         Create a comment object containg this element.
105     */

106     public Comment(Element element)
107     {
108         addElement(element);
109     }
110
111     /**
112         Adds an Element to the element.
113         @param hashcode name of element for hash table
114         @param element Adds an Element to the element.
115      */

116     public Comment addElement(String JavaDoc hashcode,Element element)
117     {
118         addElementToRegistry(hashcode,element);
119         return(this);
120     }
121
122     /**
123         Adds an Element to the element.
124         @param hashcode name of element for hash table
125         @param element Adds an Element to the element.
126      */

127     public Comment addElement(String JavaDoc hashcode,String JavaDoc element)
128     {
129         addElementToRegistry(hashcode,element);
130         return(this);
131     }
132     
133     /**
134         Adds an Element to the element.
135         @param element Adds an Element to the element.
136      */

137     public Comment addElement(Element element)
138     {
139         addElementToRegistry(element);
140         return(this);
141     }
142     /**
143         Adds an Element to the element.
144         @param element Adds an Element to the element.
145      */

146     public Comment addElement(String JavaDoc element)
147     {
148         addElementToRegistry(element);
149         return(this);
150     }
151     /**
152         Removes an Element from the element.
153         @param hashcode the name of the element to be removed.
154     */

155     public Comment removeElement(String JavaDoc hashcode)
156     {
157         removeElementFromRegistry(hashcode);
158         return(this);
159     }
160
161     public String JavaDoc createStartTag()
162     {
163         setEndTagChar(' ');
164         StringBuffer JavaDoc out = new StringBuffer JavaDoc();
165         out.append(getStartTagChar());
166
167         if(getBeginStartModifierDefined())
168         {
169             out.append(getBeginStartModifier());
170         }
171         out.append(getElementType());
172
173         if(getBeginEndModifierDefined())
174         {
175             out.append(getBeginEndModifier());
176         }
177         out.append(getEndTagChar());
178
179         setEndTagChar('>'); // put back the end tag character.
180
return(out.toString());
181     }
182     
183     public String JavaDoc createEndTag()
184     {
185         StringBuffer JavaDoc out = new StringBuffer JavaDoc();
186         setStartTagChar(' ');
187         setEndStartModifier(' ');
188
189         out.append(getStartTagChar());
190
191         if(getEndStartModifierDefined())
192         {
193             out.append(getEndStartModifier());
194         }
195         out.append(getElementType());
196
197         if(getEndEndModifierDefined())
198         {
199             out.append(getEndEndModifier());
200         }
201         out.append(getEndTagChar());
202         setStartTagChar('<'); // put back the tag start character
203

204         return(out.toString());
205     }
206 }
207
Popular Tags