KickJava   Java API By Example, From Geeks To Geeks.

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


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

38 public class HTMLElementRadio extends HTMLElement {
39     // Note: more appropriate would be to extend from HTMLElementCheckbox
40

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

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

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

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

199             }
200
201             Enumeration le = list.elements();
202             int i=0;
203             String JavaDoc h = "";
204             while(le.hasMoreElements())
205             {
206                 while( i < 22 && le.hasMoreElements() )
207                 {
208                     h += (String JavaDoc) le.nextElement();
209                     i++;
210                 }
211                 html += h;
212                 h = "";
213                 i = 0;
214             }
215         }
216         else
217         {
218             html += "<input type=\"radio\" name=\""+name + "\" ";
219             if (sel) html += "checked ";
220             html += "value=\"" + values + "\">" + values ;
221         }
222         return html;
223     }
224 }
225
Popular Tags