Classes in this File | Line Coverage | Branch Coverage | Complexity | ||||
BooleanFormatter |
|
| 7.5;7.5 |
1 | /* | |
2 | * Copyright 2004 Jonathan M. Lehr | |
3 | * | |
4 | * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. | |
5 | * You may obtain a copy of the License at | |
6 | * | |
7 | * http://www.apache.org/licenses/LICENSE-2.0 | |
8 | * | |
9 | * Unless required by applicable law or agreed to in writing, software | |
10 | * distributed under the License is distributed on an "AS IS" BASIS, | |
11 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | |
12 | * See the License for the specific language governing permissions and | |
13 | * limitations under the License. | |
14 | * | |
15 | * MODIFIED BY THE KUALI FOUNDATION | |
16 | */ | |
17 | // begin Kuali Foundation modification | |
18 | package org.kuali.rice.core.web.format; | |
19 | // end Kuali Foundation modification | |
20 | ||
21 | import java.util.Arrays; | |
22 | import java.util.List; | |
23 | ||
24 | import org.kuali.rice.core.util.RiceKeyConstants; | |
25 | ||
26 | /** | |
27 | * begin Kuali Foundation modification | |
28 | * This class is used to format boolean values. | |
29 | * end Kuali Foundation modification | |
30 | * @author Kuali Rice Team (rice.collab@kuali.org) | |
31 | */ | |
32 | 0 | public class BooleanFormatter extends Formatter { |
33 | // begin Kuali Foundation modification | |
34 | // deleted line: public static final String BOOLEAN_ERROR_KEY = "error.boolean"; | |
35 | private static final long serialVersionUID = -4109390572922205211L; | |
36 | ||
37 | // deleted line: static final String CONVERT_MSG = "Unable to create Boolean object from "; | |
38 | // end Kuali Foundation modification | |
39 | ||
40 | // begin Kuali Foundation modification | |
41 | // "y" and "t" added to TRUE_VALUES, "n" and "f" added to FALSE_VALUES | |
42 | 0 | static final List<String> TRUE_VALUES = Arrays.asList(new String[] { "yes", "y", "true", "t", "on", "1", "enabled" }); |
43 | 0 | static final List<String> FALSE_VALUES = Arrays.asList(new String[] { "no", "n", "false", "f", "off", "0", "disabled" }); |
44 | // end Kuali Foundation modification | |
45 | ||
46 | /* begin Kuali Foundation modification | |
47 | deleted following method */ | |
48 | // /** | |
49 | // * Returns the error key for this Formatter. | |
50 | // * | |
51 | // * @see Formatter#getErrorKey() | |
52 | // */ | |
53 | // public String getErrorKey() { | |
54 | // return BOOLEAN_ERROR_KEY; | |
55 | // } | |
56 | // end Kuali Foundation modification | |
57 | ||
58 | protected Object convertToObject(String target) { | |
59 | 0 | if (Formatter.isEmptyValue(target)) |
60 | 0 | return null; |
61 | ||
62 | 0 | String stringValue = target.getClass().isArray() ? unwrapString(target) : (String) target; |
63 | 0 | stringValue = stringValue.trim().toLowerCase(); |
64 | ||
65 | 0 | if (TRUE_VALUES.contains(stringValue)) |
66 | 0 | return Boolean.TRUE; |
67 | 0 | if (FALSE_VALUES.contains(stringValue)) |
68 | 0 | return Boolean.FALSE; |
69 | ||
70 | // begin Kuali Foundation modification | |
71 | // was: throw new FormatException(CONVERT_MSG + stringValue); | |
72 | 0 | throw new FormatException("converting", RiceKeyConstants.ERROR_BOOLEAN, stringValue); |
73 | // end Kuali Foundation modification | |
74 | } | |
75 | ||
76 | public Object format(Object target) { | |
77 | 0 | if (target == null) |
78 | 0 | return null; |
79 | // begin Kuali Foundation modification | |
80 | 0 | if (target instanceof String) { |
81 | 0 | return target; |
82 | } | |
83 | // end Kuali Foundation modification | |
84 | ||
85 | 0 | boolean isTrue = ((Boolean) target).booleanValue(); |
86 | ||
87 | 0 | return isTrue ? "Yes" : "No"; |
88 | } | |
89 | } |