KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > mmbase > util > HTMLElementCheckBox


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.util;
11
12 import java.util.*;
13 import org.mmbase.util.logging.*;
14
15 /**
16  * Generates a HTML Element: INPUT CHECKBOX.
17  * Uses these variables which are set in the super class (HTMLElement) to generate HTML:
18  * <ul>
19  * <li>boolean sel : if true it checks if the String selected equals the
20  * current value if equal the HTML tag CHECKED is added.</li>
21  * <li>String selected : see above </li>
22  * <li>boolean ex : if true it checks if the String exclude equals the current
23  * value, if equal this value will be skipped (no HTML
24  * generated for this item)</li>
25  * <li>String exclude : see above</li>
26  * <li>boolean moreValues : if true it will make a list of items.</li>
27  * <li>boolean moredouble : if true it will make a paired list of items.
28  * (first item = VALUE second item=NAME)</li>
29  * <li>Vector valuesList : The list of items. </li>
30  * <li>boolean vertical : if true the various checkboxes are seperated with &lt;brk /&gt; tags.</li>
31  * </ul>
32  *
33  * @application SCAN
34  * @author Jan van Oosterom
35  * @version $Id: HTMLElementCheckBox.java,v 1.6 2004/09/29 14:29:24 pierre Exp $
36  */

37 public class HTMLElementCheckBox extends HTMLElement {
38     // Note: more appropriate would be to extend from HTMLElementSelect
39

40     // logger
41
private static Logger log = Logging.getLoggerInstance(HTMLElementCheckBox.class.getName());
42
43     /**
44      * Creates a HTMLElementCheckbox
45      */

46     public HTMLElementCheckBox() {
47     }
48
49     /**
50      * Generates the HTML code.
51      */

52     protected String JavaDoc generate() {
53         String JavaDoc html = "";
54         if (selected != null && selected.equals("null")) {
55             sel = false;
56         }
57         if (exclude != null && exclude.equals("null")) {
58             ex = false;
59         }
60         if (moreValues) {
61             String JavaDoc val = null;
62             String JavaDoc basic = "<input type=\"checkbox\" name=\"" +name+ "\" value=\"";
63             Enumeration e = valuesList.elements();
64
65             Vector list = new Vector();
66
67             String JavaDoc brk="";
68             if (vertical) {
69               brk="<br />\n";
70             }
71             while (e.hasMoreElements()) {
72                 val = (String JavaDoc) e.nextElement();
73                 if (sel && selected.equalsIgnoreCase(val)) {
74                     list.addElement(basic +val + "\" checked >" + val + brk);
75                 } else if (!ex || (!exclude.equalsIgnoreCase(val))) {
76                     list.addElement(basic +val + "\" >" + val + brk);
77                 }
78 /** if (sel) {
79                     if (selected.equalsIgnoreCase(val)) {
80                         if (vertical) {
81                             list.addElement(basic +val + "\" checked> " + val + "<br />\n");
82                         } else {
83                             list.addElement(basic +val + "\" checked> " + val);
84                         }
85                     } else {
86                         if (ex) {
87                             if (!exclude.equalsIgnoreCase(val)) {
88                                 if (vertical) {
89                                     list.addElement(basic + val + "\"> " + val + "<br />\n");
90                                 } else {
91                                     list.addElement(basic + val + "\"> " + val);
92                                 }
93                             }
94                         } else {
95                             if (vertical) {
96                                 list.addElement(basic + val + "\"> " + val + "<br />\n");
97                             } else {
98                                 list.addElement(basic + val + "\"> " + val);
99                             }
100                         }
101                     }
102                 } else {
103                     if (ex) {
104                         if (!exclude.equalsIgnoreCase(val)) {
105                             if (vertical) {
106                                 list.addElement(basic + val + "\"> " + val + "<br />\n");
107                             } else {
108                                 list.addElement(basic + val + "\"> " + val);
109                             }
110                         }
111                     } else {
112                         if (vertical) {
113                             list.addElement(basic + val + "\"> " + val + "<br />\n");
114                         } else {
115                             list.addElement(basic + val + "\"> " + val);
116                         }
117                     }
118                 }
119 */

120             }
121             Enumeration le = list.elements();
122             int i=0;
123             String JavaDoc h = "";
124             while(le.hasMoreElements()) {
125                 while( i<22 && le.hasMoreElements()) {
126                     h += (String JavaDoc) le.nextElement();
127                     i++;
128                 }
129                 html += h;
130                 h = "";
131                 i = 0;
132             }
133         } else if (moredouble) {
134             String JavaDoc val = null;
135             String JavaDoc basic = "<input type=\"checkbox\" name=\"" +name+ "\" value=\"";
136             Enumeration e = valuesList.elements();
137
138             Vector list = new Vector();
139
140             String JavaDoc brk="";
141             if (vertical) {
142               brk="<br />\n";
143             }
144             while (e.hasMoreElements()) {
145                 val = (String JavaDoc) e.nextElement();
146                 String JavaDoc val2 ;
147                 if (e.hasMoreElements()) {
148                     val2= (String JavaDoc) e.nextElement();
149                 } else {
150                      log.warn("HTMLElementCheckBox.generate: Expecting a double list (the DOUBLE key word was selected");
151                      return html;
152                 }
153                 if (sel && selected.equalsIgnoreCase(val)) {
154                     list.addElement(basic +val2 + "\" checked >" + val + brk);
155                 } else if (!ex || (!exclude.equalsIgnoreCase(val))) {
156                     list.addElement(basic +val2 + "\" >" + val + brk);
157                 }
158 /**
159                 if (sel) {
160                     if (selected.equalsIgnoreCase(val)) {
161                         if (vertical) {
162                             list.addElement(basic +val2 + "\" CHECKED> " + val + "<BR>\n");
163                         } else {
164                             list.addElement(basic +val + "\" CHECKED> " + val);
165                         }
166                     } else {
167                         if (ex) {
168                             if (!exclude.equalsIgnoreCase(val)) {
169                                 if (vertical) {
170                                     list.addElement(basic + val2 + "\"> " + val + "<BR>\n");
171                                 } else {
172                                     list.addElement(basic + val2 + "\"> " + val);
173                                 }
174                             }
175                         } else {
176                             if (vertical) {
177                                 list.addElement(basic + val2 + "\"> " + val + "<BR>\n");
178                             } else {
179                                 list.addElement(basic + val2 + "\"> " + val);
180                             }
181                         }
182                     }
183                 } else {
184                     if (ex) {
185                         if (!exclude.equalsIgnoreCase(val)) {
186                             if (vertical) {
187                                 list.addElement(basic + val2 + "\"> " + val + "<BR>\n");
188                             } else {
189                                 list.addElement(basic + val2 + "\"> " + val);
190                             }
191                         }
192                     } else {
193                         if (vertical) {
194                             list.addElement(basic + val2 + "\"> " + val + "<BR>\n");
195                         } else {
196                             list.addElement(basic + val2 + "\"> " + val);
197                         }
198                     }
199                 }
200 */
}
201             Enumeration le = list.elements();
202             int i=0;
203             String JavaDoc h = "";
204             while(le.hasMoreElements()) {
205                 while( i < 22 && le.hasMoreElements()) {
206                     h += (String JavaDoc) le.nextElement();
207                     i++;
208                 }
209                 html += h;
210                 h = "";
211                 i = 0;
212             }
213         } else {
214             html += "<input type=\"checkbox\" name=\""+name + "\" ";
215             if (sel) html += "checked ";
216             html += "value=\"" + values + "\">" + values ;
217         }
218         return html;
219     }
220 }
221
Popular Tags