org.apache.commons.beanutils.converters
public abstract class NumberConverter extends AbstractConverter
This implementation handles conversion for the following
java.lang.Number
types.
java.lang.Byte
java.lang.Short
java.lang.Integer
java.lang.Long
java.lang.Float
java.lang.Double
java.math.BigDecimal
java.math.BigInteger
setUseLocaleFormat(true)
setLocale(Locale)
setPattern(String)
setPattern(String)
setLocale(Locale)
toNumber(String)
method is used to convert
from String to Number and the Number's
toString()
method used to convert from
Number to String.
N.B.Patterns can only be specified used the standard
pattern characters and NOT in localized form (see java.text.SimpleDateFormat
).
For example to cater for number styles used in Germany such as 0.000,00
the pattern
is specified in the normal form 0,000.00
and the locale set to Locale.GERMANY
.
Since: 1.8.0
Version: $Revision: 745081 $ $Date: 2009-02-17 14:05:20 +0000 (Tue, 17 Feb 2009) $
Constructor Summary | |
---|---|
NumberConverter(boolean allowDecimals)
Construct a java.lang.Number Converter
that throws a ConversionException if a error occurs.
| |
NumberConverter(boolean allowDecimals, Object defaultValue)
Construct a java.lang.Number Converter that returns
a default value if an error occurs.
|
Method Summary | |
---|---|
protected String | convertToString(Object value)
Convert an input Number object into a String.
|
protected Object | convertToType(Class targetType, Object value)
Convert the input object into a Number object of the
specified type.
|
Locale | getLocale()
Return the Locale for the Converter
(or null if none specified).
|
String | getPattern()
Return the number format pattern used to convert
Numbers to/from a java.lang.String
(or null if none specified).
|
boolean | isAllowDecimals()
Return whether decimals are allowed in the number.
|
void | setLocale(Locale locale)
Set the Locale for the Converter.
|
void | setPattern(String pattern)
Set a number format pattern to use to convert
Numbers to/from a java.lang.String .
|
void | setUseLocaleFormat(boolean useLocaleFormat)
Set whether a format should be used to convert
the Number.
|
String | toString()
Provide a String representation of this number converter.
|
ConversionException
if a error occurs.
Parameters: allowDecimals Indicates whether decimals are allowed
java.lang.Number
Converter that returns
a default value if an error occurs.
Parameters: allowDecimals Indicates whether decimals are allowed defaultValue The default value to be returned
Parameters: value The input value to be converted
Returns: the converted String value.
Throws: Throwable if an error occurs converting to a String
Parameters: targetType Data type to which this value should be converted. value The input value to be converted.
Returns: The converted value.
Throws: Throwable if an error occurs converting to the specified type
null
if none specified).
Returns: The locale to use for conversion
java.lang.String
(or null
if none specified).
See java.text.SimpleDateFormat
for details
of how to specify the pattern.
Returns: The format pattern.
Returns: Whether decimals are allowed in the number
Parameters: locale The locale to use for conversion
java.lang.String
.
See java.text.SimpleDateFormat
for details
of how to specify the pattern.
Parameters: pattern The format pattern.
Parameters: useLocaleFormat true
if a number format
should be used.
Returns: A String representation of this number converter