KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > apache > commons > beanutils > locale > converters > IntegerLocaleConverter


1 /*
2  * Copyright 2001-2004 The Apache Software Foundation.
3  *
4  * Licensed under the Apache License, Version 2.0 (the "License");
5  * you may not use this file except in compliance with the License.
6  * You may obtain a copy of the License at
7  *
8  * http://www.apache.org/licenses/LICENSE-2.0
9  *
10  * Unless required by applicable law or agreed to in writing, software
11  * distributed under the License is distributed on an "AS IS" BASIS,
12  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13  * See the License for the specific language governing permissions and
14  * limitations under the License.
15  */

16
17 package org.apache.commons.beanutils.locale.converters;
18
19 import org.apache.commons.beanutils.ConversionException;
20
21 import java.util.Locale JavaDoc;
22 import java.text.ParseException JavaDoc;
23
24
25 /**
26  * <p>Standard {@link org.apache.commons.beanutils.locale.LocaleConverter}
27  * implementation that converts an incoming
28  * locale-sensitive String into a <code>java.lang.Integer</code> object,
29  * optionally using a default value or throwing a
30  * {@link org.apache.commons.beanutils.ConversionException}
31  * if a conversion error occurs.</p>
32  *
33  * @author Yauheny Mikulski
34  */

35
36 public class IntegerLocaleConverter extends DecimalLocaleConverter {
37
38
39     // ----------------------------------------------------------- Constructors
40

41     /**
42      * Create a {@link org.apache.commons.beanutils.locale.LocaleConverter}
43      * that will throw a {@link org.apache.commons.beanutils.ConversionException}
44      * if a conversion error occurs. The locale is the default locale for
45      * this instance of the Java Virtual Machine and an unlocalized pattern is used
46      * for the convertion.
47      *
48      */

49
50     public IntegerLocaleConverter() {
51
52         this(false);
53     }
54
55     /**
56      * Create a {@link org.apache.commons.beanutils.locale.LocaleConverter}
57      * that will throw a {@link org.apache.commons.beanutils.ConversionException}
58      * if a conversion error occurs. The locale is the default locale for
59      * this instance of the Java Virtual Machine.
60      *
61      * @param locPattern Indicate whether the pattern is localized or not
62      */

63     public IntegerLocaleConverter(boolean locPattern) {
64
65         this(Locale.getDefault(), locPattern);
66     }
67
68     /**
69      * Create a {@link org.apache.commons.beanutils.locale.LocaleConverter}
70      * that will throw a {@link org.apache.commons.beanutils.ConversionException}
71      * if a conversion error occurs. An unlocalized pattern is used for the convertion.
72      *
73      * @param locale The locale
74      */

75     public IntegerLocaleConverter(Locale JavaDoc locale) {
76
77         this(locale, false);
78     }
79
80     /**
81      * Create a {@link org.apache.commons.beanutils.locale.LocaleConverter}
82      * that will throw a {@link org.apache.commons.beanutils.ConversionException}
83      * if a conversion error occurs.
84      *
85      * @param locale The locale
86      * @param locPattern Indicate whether the pattern is localized or not
87      */

88     public IntegerLocaleConverter(Locale JavaDoc locale, boolean locPattern) {
89
90         this(locale, (String JavaDoc) null, locPattern);
91     }
92
93     /**
94      * Create a {@link org.apache.commons.beanutils.locale.LocaleConverter}
95      * that will throw a {@link org.apache.commons.beanutils.ConversionException}
96      * if a conversion error occurs. An unlocalized pattern is used for the convertion.
97      *
98      * @param locale The locale
99      * @param pattern The convertion pattern
100      */

101     public IntegerLocaleConverter(Locale JavaDoc locale, String JavaDoc pattern) {
102
103         this(locale, pattern, false);
104     }
105
106     /**
107      * Create a {@link org.apache.commons.beanutils.locale.LocaleConverter}
108      * that will throw a {@link org.apache.commons.beanutils.ConversionException}
109      * if a conversion error occurs.
110      *
111      * @param locale The locale
112      * @param pattern The convertion pattern
113      * @param locPattern Indicate whether the pattern is localized or not
114      */

115     public IntegerLocaleConverter(Locale JavaDoc locale, String JavaDoc pattern, boolean locPattern) {
116
117         super(locale, pattern, locPattern);
118     }
119
120     /**
121      * Create a {@link org.apache.commons.beanutils.locale.LocaleConverter}
122      * that will return the specified default value
123      * if a conversion error occurs. The locale is the default locale for
124      * this instance of the Java Virtual Machine and an unlocalized pattern is used
125      * for the convertion.
126      *
127      * @param defaultValue The default value to be returned
128      */

129     public IntegerLocaleConverter(Object JavaDoc defaultValue) {
130
131         this(defaultValue, false);
132     }
133
134     /**
135      * Create a {@link org.apache.commons.beanutils.locale.LocaleConverter}
136      * that will return the specified default value
137      * if a conversion error occurs. The locale is the default locale for
138      * this instance of the Java Virtual Machine.
139      *
140      * @param defaultValue The default value to be returned
141      * @param locPattern Indicate whether the pattern is localized or not
142      */

143     public IntegerLocaleConverter(Object JavaDoc defaultValue, boolean locPattern) {
144
145         this(defaultValue, Locale.getDefault(), locPattern);
146     }
147
148     /**
149      * Create a {@link org.apache.commons.beanutils.locale.LocaleConverter}
150      * that will return the specified default value
151      * if a conversion error occurs. An unlocalized pattern is used for the convertion.
152      *
153      * @param defaultValue The default value to be returned
154      * @param locale The locale
155      */

156     public IntegerLocaleConverter(Object JavaDoc defaultValue, Locale JavaDoc locale) {
157
158         this(defaultValue, locale, false);
159     }
160
161     /**
162      * Create a {@link org.apache.commons.beanutils.locale.LocaleConverter}
163      * that will return the specified default value
164      * if a conversion error occurs.
165      *
166      * @param defaultValue The default value to be returned
167      * @param locale The locale
168      * @param locPattern Indicate whether the pattern is localized or not
169      */

170     public IntegerLocaleConverter(Object JavaDoc defaultValue, Locale JavaDoc locale, boolean locPattern) {
171
172         this(defaultValue, locale, null, locPattern);
173     }
174
175     /**
176      * Create a {@link org.apache.commons.beanutils.locale.LocaleConverter}
177      * that will return the specified default value
178      * if a conversion error occurs. An unlocalized pattern is used for the convertion.
179      *
180      * @param defaultValue The default value to be returned
181      * @param locale The locale
182      * @param pattern The convertion pattern
183      */

184     public IntegerLocaleConverter(Object JavaDoc defaultValue, Locale JavaDoc locale, String JavaDoc pattern) {
185
186         this(defaultValue, locale, pattern, false);
187     }
188
189     /**
190      * Create a {@link org.apache.commons.beanutils.locale.LocaleConverter}
191      * that will return the specified default value
192      * if a conversion error occurs.
193      *
194      * @param defaultValue The default value to be returned
195      * @param locale The locale
196      * @param pattern The convertion pattern
197      * @param locPattern Indicate whether the pattern is localized or not
198      */

199     public IntegerLocaleConverter(Object JavaDoc defaultValue, Locale JavaDoc locale, String JavaDoc pattern, boolean locPattern) {
200
201         super(defaultValue, locale, pattern, locPattern);
202     }
203
204     /**
205      * Convert the specified locale-sensitive input object into an output object of the
206      * specified type. This method will return Integer type.
207      *
208      * @param value The input object to be converted
209      * @param pattern The pattern is used for the convertion
210      *
211      * @exception ConversionException if conversion cannot be performed
212      * successfully
213      */

214     protected Object JavaDoc parse(Object JavaDoc value, String JavaDoc pattern) throws ParseException JavaDoc {
215         final Number JavaDoc parsed = (Number JavaDoc) super.parse(value, pattern);
216         if (parsed.longValue() != parsed.intValue()) {
217             throw new ConversionException("Suplied number is not of type Integer: " + parsed.longValue());
218         }
219         return new Integer JavaDoc(parsed.intValue()); // unlike superclass it will return proper Integer
220
}
221 }
222
Popular Tags