KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > enhydra > barracuda > contrib > dbroggisch > repopulation > CheckboxFormElement


1 /*
2  * Copyright (C) 2003 Diez B. Roggisch [deets@web.de]
3  *
4  * This library is free software; you can redistribute it and/or
5  * modify it under the terms of the GNU Lesser General Public
6  * License as published by the Free Software Foundation; either
7  * version 2.1 of the License, or (at your option) any later version.
8  *
9  * This library is distributed in the hope that it will be useful,
10  * but WITHOUT ANY WARRANTY; without even the implied warranty of
11  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
12  * Lesser General Public License for more details.
13  *
14  * You should have received a copy of the GNU Lesser General Public
15  * License along with this library; if not, write to the Free Software
16  * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
17  *
18  * $Id: CheckboxFormElement.java,v 1.2 2004/02/01 05:16:27 christianc Exp $
19  */

20 package org.enhydra.barracuda.contrib.dbroggisch.repopulation;
21
22 import org.enhydra.barracuda.core.forms.DefaultFormElement;
23 import org.enhydra.barracuda.core.forms.FormType;
24 import org.enhydra.barracuda.core.comp.ViewContext;
25 import org.enhydra.barracuda.core.comp.BToggleButton;
26 import org.enhydra.barracuda.core.forms.ParseException;
27
28 public class CheckboxFormElement extends DefaultFormElement implements RepopulationElement {
29
30     public CheckboxFormElement(java.lang.String JavaDoc name, org.enhydra.barracuda.core.forms.FormType ft) {
31         // TODO: Check if , new Boolean(false) as default makes sense
32
super(name, ft, null);
33     }
34
35
36     public Object JavaDoc render(ViewContext context) {
37         BToggleButton btog = new BToggleButton();
38         btog.setName(getName());
39         Object JavaDoc val = getOrigVal();
40
41         if(val != null && val instanceof Boolean JavaDoc) {
42             btog.setSelected(((Boolean JavaDoc)val).booleanValue());
43         } else if(val instanceof String JavaDoc) {
44             try {
45                 Boolean JavaDoc bVal = (Boolean JavaDoc)FormType.BOOLEAN.parse((String JavaDoc)val);
46                 btog.setSelected(bVal.booleanValue());
47             }
48             catch(ParseException ex) {
49                 if(logger.isDebugEnabled()) {
50                     logger.debug("Parsing of " + val + " to Boolean failed");
51                 }
52             }
53         }
54         return btog;
55     }
56 }
57
58
Popular Tags