org.springframework.binding.convert.converters
Class FormattedStringToNumber

java.lang.Object
  extended by org.springframework.binding.convert.converters.StringToObject
      extended by org.springframework.binding.convert.converters.FormattedStringToNumber
All Implemented Interfaces:
Converter, TwoWayConverter

public class FormattedStringToNumber
extends StringToObject

A converter for common number types such as integers and big decimals. Allows the configuration of an explicit number pattern and locale. Works with a general purpose DecimalFormat instance returned by calling NumberFormat.getInstance(Locale) by default. This instance supports parsing any number type generally and will not perform special type-specific logic such as rounding or truncation. Subclasses may override. Will coerse parsed Numbers to the desired numberClass as necessary. If type-coersion results in an overflow condition; for example, what can occur with a Long being coersed to a Short, an exception will be thrown.

Author:
Keith Donald
See Also:
NumberFormat, DecimalFormat

Constructor Summary
FormattedStringToNumber()
           
FormattedStringToNumber(Class numberClass)
           
 
Method Summary
 boolean getLenient()
          If this Converter is "lenient" in parsing number strings.
 void setLenient(boolean lenient)
          Sets if this Converter should parse leniently.
 void setNumberFormatFactory(NumberFormatFactory numberFormatFactory)
          Sets the factory that returns the NumberFormat instance that will format numbers handled by this converter.
 
Methods inherited from class org.springframework.binding.convert.converters.StringToObject
convertSourceToTargetClass, convertTargetToSourceClass, getSourceClass, getTargetClass
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

FormattedStringToNumber

public FormattedStringToNumber()

FormattedStringToNumber

public FormattedStringToNumber(Class numberClass)
Method Detail

setNumberFormatFactory

public void setNumberFormatFactory(NumberFormatFactory numberFormatFactory)
Sets the factory that returns the NumberFormat instance that will format numbers handled by this converter.

Parameters:
numberFormatFactory - the number format factory

getLenient

public boolean getLenient()
If this Converter is "lenient" in parsing number strings. A lenient converter does not require that all characters in the String be parsed successfully. Default is false.

Returns:
the lenient flag

setLenient

public void setLenient(boolean lenient)
Sets if this Converter should parse leniently.

Parameters:
lenient - the lenient flag