public abstract class

NumberConverter

extends AbstractConverter
java.lang.Object
   ↳ org.apache.commons.beanutils.converters.AbstractConverter
     ↳ org.apache.commons.beanutils.converters.NumberConverter
Known Direct Subclasses

Class Overview

Converter implementaion that handles conversion to and from java.lang.Number objects.

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

String Conversions (to and from)

This class provides a number of ways in which number conversions to/from Strings can be achieved:
  • Using the default format for the default Locale, configure using:
    • setUseLocaleFormat(true)
  • Using the default format for a specified Locale, configure using:
    • setLocale(Locale)
  • Using a specified pattern for the default Locale, configure using:
    • setPattern(String)
  • Using a specified pattern for a specified Locale, configure using:
    • setPattern(String)
    • setLocale(Locale)
  • If none of the above are configured the 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.

Summary

Public Constructors
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.
Public Methods
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.
Protected Methods
String convertToString(Object value)
Convert an input Number object into a String.
Object convertToType(Class targetType, Object value)
Convert the input object into a Number object of the specified type.
[Expand]
Inherited Methods
From class org.apache.commons.beanutils.converters.AbstractConverter
From class java.lang.Object
From interface org.apache.commons.beanutils.Converter

Public Constructors

public NumberConverter (boolean allowDecimals)

Construct a java.lang.Number Converter that throws a ConversionException if a error occurs.

Parameters
allowDecimals Indicates whether decimals are allowed

public NumberConverter (boolean allowDecimals, Object defaultValue)

Construct a 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

Public Methods

public Locale getLocale ()

Return the Locale for the Converter (or null if none specified).

Returns
  • The locale to use for conversion

public String getPattern ()

Return the number format pattern used to convert Numbers to/from a java.lang.String (or null if none specified).

See java.text.SimpleDateFormat for details of how to specify the pattern.

Returns
  • The format pattern.

public boolean isAllowDecimals ()

Return whether decimals are allowed in the number.

Returns
  • Whether decimals are allowed in the number

public void setLocale (Locale locale)

Set the Locale for the Converter.

Parameters
locale The locale to use for conversion

public void setPattern (String pattern)

Set a number format pattern to use to convert Numbers to/from a java.lang.String.

See java.text.SimpleDateFormat for details of how to specify the pattern.

Parameters
pattern The format pattern.

public void setUseLocaleFormat (boolean useLocaleFormat)

Set whether a format should be used to convert the Number.

Parameters
useLocaleFormat true if a number format should be used.

public String toString ()

Provide a String representation of this number converter.

Returns
  • A String representation of this number converter

Protected Methods

protected String convertToString (Object value)

Convert an input Number object into a String.

Parameters
value The input value to be converted
Returns
  • the converted String value.
Throws
Throwable if an error occurs converting to a String

protected Object convertToType (Class targetType, Object value)

Convert the input object into a Number object of the specified type.

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