KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > riotfamily > common > beans > propertyeditors > BooleanEditor


1 /* ***** BEGIN LICENSE BLOCK *****
2  * Version: MPL 1.1
3  * The contents of this file are subject to the Mozilla Public License Version
4  * 1.1 (the "License"); you may not use this file except in compliance with
5  * the License. You may obtain a copy of the License at
6  * http://www.mozilla.org/MPL/
7  *
8  * Software distributed under the License is distributed on an "AS IS" basis,
9  * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
10  * for the specific language governing rights and limitations under the
11  * License.
12  *
13  * The Original Code is Riot.
14  *
15  * The Initial Developer of the Original Code is
16  * Neteye GmbH.
17  * Portions created by the Initial Developer are Copyright (C) 2006
18  * the Initial Developer. All Rights Reserved.
19  *
20  * Contributor(s):
21  * Felix Gnass [fgnass at neteye dot de]
22  *
23  * ***** END LICENSE BLOCK ***** */

24 package org.riotfamily.common.beans.propertyeditors;
25
26 import java.beans.PropertyEditorSupport JavaDoc;
27
28 import org.springframework.util.StringUtils;
29
30 public class BooleanEditor extends PropertyEditorSupport JavaDoc {
31
32     public static final String JavaDoc VALUE_TRUE = "true";
33
34     public static final String JavaDoc VALUE_FALSE = "false";
35
36     private Boolean JavaDoc defaultValue;
37     
38     public BooleanEditor() {
39         this(Boolean.FALSE);
40     }
41     
42     public BooleanEditor(boolean defaultValue) {
43         this(Boolean.valueOf(defaultValue));
44     }
45     
46     public BooleanEditor(Boolean JavaDoc defaultValue) {
47         this.defaultValue = defaultValue;
48     }
49
50     public void setDefaultValue(Boolean JavaDoc defaultValue) {
51         this.defaultValue = defaultValue;
52     }
53
54     public void setAsText(String JavaDoc text) throws IllegalArgumentException JavaDoc {
55         if (!StringUtils.hasText(text)) {
56             setValue(defaultValue);
57         }
58         else if (VALUE_TRUE.equalsIgnoreCase(text)) {
59             setValue(Boolean.TRUE);
60         }
61         else if (VALUE_FALSE.equalsIgnoreCase(text)) {
62             setValue(Boolean.FALSE);
63         }
64         else {
65             throw new IllegalArgumentException JavaDoc(
66                     "Invalid boolean value [" + text + "]");
67         }
68     }
69
70     public String JavaDoc getAsText() {
71         if (Boolean.TRUE.equals(getValue())) {
72             return VALUE_TRUE;
73         }
74         else if (Boolean.FALSE.equals(getValue())) {
75             return VALUE_FALSE;
76         }
77         else {
78             return "";
79         }
80     }
81
82 }
83
Popular Tags