Source code: org/scopemvc/util/convertor/BooleanStringConvertor.java
1 /*
2 * Scope: a generic MVC framework.
3 * Copyright (c) 2000-2002, Daniel Michalik
4 * All rights reserved.
5 * Email: danmi@users.sourceforge.net
6 *
7 *
8 * Redistribution and use in source and binary forms, with or without
9 * modification, are permitted provided that the following conditions
10 * are met:
11 *
12 * Redistributions of source code must retain the above copyright
13 * notice, this list of conditions and the following disclaimer.
14 *
15 * Redistributions in binary form must reproduce the above copyright
16 * notice, this list of conditions and the following disclaimer in the
17 * documentation and/or other materials provided with the distribution.
18 *
19 * Neither the name "Scope" nor the names of its contributors
20 * may be used to endorse or promote products derived from this software
21 * without specific prior written permission.
22 *
23 *
24 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
25 * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
26 * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
27 * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR
28 * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
29 * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
30 * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
31 * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
32 * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
33 * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
34 * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
35 *
36 *
37 * $Id: BooleanStringConvertor.java,v 1.2 2002/01/12 09:35:41 smeyfroi Exp $
38 */
39
40
41 package org.scopemvc.util.convertor;
42
43
44 /**
45 * String convertor for type <code>java.util.Date</code>.
46 *
47 * @author <A HREF="mailto:danmi@users.sourceforge.net">Daniel Michalik</A>
48 * @version $Revision: 1.2 $ $Date: 2002/01/12 09:35:41 $
49 */
50 public class BooleanStringConvertor extends NullStringConvertor {
51
52
53 private static final String TRUE = Boolean.TRUE.toString();
54 private static final String FALSE = Boolean.FALSE.toString();
55
56
57 public String valueAsString(Object inValue) throws IllegalArgumentException {
58 if (inValue == null) {
59 return getNullAsString();
60 }
61 if (! (inValue instanceof Boolean)) {
62 throw new IllegalArgumentException("BooleanStringConvertor only operates on Boolean, not on: " + inValue);
63 }
64 return inValue.toString();
65 }
66
67
68 public Object stringAsValue(String inString) throws IllegalArgumentException {
69 if (isNull(inString)) {
70 return null;
71 }
72 if (! (inString.equals(TRUE) || inString.equals(FALSE))) {
73 throw new IllegalArgumentException("Illegal value '" + inString + "' not '" + TRUE + "' or '" + FALSE + "'");
74 }
75 return Boolean.valueOf(inString);
76 }
77 }