1 |
| |
2 |
| |
3 |
| |
4 |
| |
5 |
| |
6 |
| |
7 |
| |
8 |
| |
9 |
| |
10 |
| |
11 |
| |
12 |
| |
13 |
| |
14 |
| |
15 |
| package org.apache.tapestry.valid; |
16 |
| |
17 |
| import org.apache.tapestry.form.IFormComponent; |
18 |
| |
19 |
| |
20 |
| |
21 |
| |
22 |
| |
23 |
| |
24 |
| |
25 |
| public abstract class AbstractNumericValidator extends BaseValidator |
26 |
| { |
27 |
| private boolean _zeroIsNull; |
28 |
| |
29 |
62
| public AbstractNumericValidator()
|
30 |
| { |
31 |
62
| super();
|
32 |
| } |
33 |
| |
34 |
14
| public AbstractNumericValidator(String initializer)
|
35 |
| { |
36 |
14
| super(initializer);
|
37 |
| } |
38 |
| |
39 |
0
| public AbstractNumericValidator(boolean required)
|
40 |
| { |
41 |
0
| super(required);
|
42 |
| } |
43 |
| |
44 |
| |
45 |
| |
46 |
| |
47 |
| |
48 |
| |
49 |
32
| public boolean getZeroIsNull()
|
50 |
| { |
51 |
32
| return _zeroIsNull;
|
52 |
| } |
53 |
| |
54 |
2
| public void setZeroIsNull(boolean zeroIsNull)
|
55 |
| { |
56 |
2
| _zeroIsNull = zeroIsNull;
|
57 |
| } |
58 |
| |
59 |
| private String _scriptPath = |
60 |
| getDefaultScriptPath(); |
61 |
| |
62 |
| |
63 |
| private String _invalidNumericFormatMessage; |
64 |
| |
65 |
| private String _invalidIntegerFormatMessage; |
66 |
| |
67 |
| private String _numberTooSmallMessage; |
68 |
| |
69 |
| private String _numberTooLargeMessage; |
70 |
| |
71 |
| private String _numberRangeMessage; |
72 |
| |
73 |
| |
74 |
| |
75 |
| |
76 |
0
| public String getScriptPath()
|
77 |
| { |
78 |
0
| return _scriptPath;
|
79 |
| } |
80 |
| |
81 |
| |
82 |
| |
83 |
| |
84 |
| |
85 |
| |
86 |
| |
87 |
| |
88 |
| |
89 |
0
| public void setScriptPath(String scriptPath)
|
90 |
| { |
91 |
0
| _scriptPath = scriptPath;
|
92 |
| } |
93 |
| |
94 |
| |
95 |
6
| public String getInvalidNumericFormatMessage()
|
96 |
| { |
97 |
6
| return _invalidNumericFormatMessage;
|
98 |
| } |
99 |
| |
100 |
| |
101 |
10
| public String getInvalidIntegerFormatMessage()
|
102 |
| { |
103 |
10
| return _invalidIntegerFormatMessage;
|
104 |
| } |
105 |
| |
106 |
| |
107 |
2
| public String getNumberRangeMessage()
|
108 |
| { |
109 |
2
| return _numberRangeMessage;
|
110 |
| } |
111 |
| |
112 |
| |
113 |
8
| public String getNumberTooLargeMessage()
|
114 |
| { |
115 |
8
| return _numberTooLargeMessage;
|
116 |
| } |
117 |
| |
118 |
| |
119 |
8
| public String getNumberTooSmallMessage()
|
120 |
| { |
121 |
8
| return _numberTooSmallMessage;
|
122 |
| } |
123 |
| |
124 |
| |
125 |
| |
126 |
| |
127 |
| |
128 |
| |
129 |
| |
130 |
2
| public void setInvalidNumericFormatMessage(String string)
|
131 |
| { |
132 |
2
| _invalidNumericFormatMessage = string;
|
133 |
| } |
134 |
| |
135 |
| |
136 |
| |
137 |
| |
138 |
| |
139 |
| |
140 |
| |
141 |
0
| public void setInvalidIntegerFormatMessage(String string)
|
142 |
| { |
143 |
0
| _invalidIntegerFormatMessage = string;
|
144 |
| } |
145 |
| |
146 |
| |
147 |
| |
148 |
| |
149 |
| |
150 |
| |
151 |
| |
152 |
0
| public void setNumberRangeMessage(String string)
|
153 |
| { |
154 |
0
| _numberRangeMessage = string;
|
155 |
| } |
156 |
| |
157 |
| |
158 |
| |
159 |
| |
160 |
| |
161 |
| |
162 |
| |
163 |
2
| public void setNumberTooLargeMessage(String string)
|
164 |
| { |
165 |
2
| _numberTooLargeMessage = string;
|
166 |
| } |
167 |
| |
168 |
| |
169 |
| |
170 |
| |
171 |
| |
172 |
| |
173 |
| |
174 |
2
| public void setNumberTooSmallMessage(String string)
|
175 |
| { |
176 |
2
| _numberTooSmallMessage = string;
|
177 |
| } |
178 |
| |
179 |
| |
180 |
6
| protected String buildInvalidNumericFormatMessage(IFormComponent field)
|
181 |
| { |
182 |
6
| String pattern = getPattern(
|
183 |
| getInvalidNumericFormatMessage(), |
184 |
| "invalid-numeric-format", |
185 |
| field.getPage().getLocale()); |
186 |
| |
187 |
6
| return formatString(pattern, field.getDisplayName());
|
188 |
| } |
189 |
| |
190 |
8
| protected String buildNumberTooSmallMessage(IFormComponent field, Number minimum)
|
191 |
| { |
192 |
8
| String pattern = getPattern(getNumberTooSmallMessage(), "number-too-small", field.getPage()
|
193 |
| .getLocale()); |
194 |
| |
195 |
8
| return formatString(pattern, field.getDisplayName(), minimum);
|
196 |
| } |
197 |
| |
198 |
| |
199 |
10
| protected String buildInvalidIntegerFormatMessage(IFormComponent field)
|
200 |
| { |
201 |
10
| String pattern = getPattern(getInvalidIntegerFormatMessage(), "invalid-int-format", field
|
202 |
| .getPage().getLocale()); |
203 |
| |
204 |
10
| return formatString(pattern, field.getDisplayName());
|
205 |
| } |
206 |
| |
207 |
| |
208 |
| |
209 |
| |
210 |
8
| protected String buildNumberTooLargeMessage(IFormComponent field, Number maximum)
|
211 |
| { |
212 |
8
| String pattern = getPattern(getNumberTooLargeMessage(), "number-too-large", field.getPage()
|
213 |
| .getLocale()); |
214 |
| |
215 |
8
| return formatString(pattern, field.getDisplayName(), maximum);
|
216 |
| } |
217 |
| |
218 |
2
| protected String buildNumberRangeMessage(IFormComponent field, Number mininum, Number maximum)
|
219 |
| { |
220 |
2
| String pattern = getPattern(getNumberRangeMessage(), "number-range", field.getPage()
|
221 |
| .getLocale()); |
222 |
| |
223 |
2
| return formatString(pattern, new Object[]
|
224 |
| { field.getDisplayName(), mininum, maximum }); |
225 |
| } |
226 |
| |
227 |
6
| protected String buildRangeMessage(IFormComponent field, Number minimum, Number maximum)
|
228 |
| { |
229 |
6
| if (minimum != null && maximum != null)
|
230 |
2
| return buildNumberRangeMessage(field, minimum, maximum);
|
231 |
| |
232 |
4
| if (maximum != null)
|
233 |
2
| return buildNumberTooLargeMessage(field, maximum);
|
234 |
| |
235 |
2
| return buildNumberTooSmallMessage(field, minimum);
|
236 |
| } |
237 |
| |
238 |
| protected abstract String getDefaultScriptPath(); |
239 |
| } |