org.springframework.beans.propertyeditors
Class CustomNumberEditor

java.lang.Object
  |
  +--java.beans.PropertyEditorSupport
        |
        +--org.springframework.beans.propertyeditors.CustomNumberEditor

public class CustomNumberEditor
extends PropertyEditorSupport

Property editor for any Number subclass like Integer, Long, Float, Double. Uses a given NumberFormat for (locale-specific) parsing and rendering.

This is not meant to be used as system PropertyEditor but rather as locale-specific number editor within custom controller code, to parse user-entered number strings into Number properties of beans, and render them in the UI form.

In web MVC code, this editor will typically be registered with binder.registerCustomEditor calls in an implementation of BaseCommandController's initBinder method.

Author:
Juergen Hoeller
Since: 06.06.2003
See Also: org.springframework.validation.DataBinder.registerCustomEditor(java.lang.Class,java.beans.PropertyEditor), org.springframework.web.servlet.mvc.BaseCommandController.initBinder(HttpServletRequest,org.springframework.web.bind.ServletRequestDataBinder), org.springframework.web.bind.BindInitializer.initBinder(ServletRequest,org.springframework.web.bind.ServletRequestDataBinder)

Constructor Summary
CustomNumberEditor(Class numberClass, NumberFormat numberFormat, boolean allowEmpty)
          Create a new instance, using the given NumberFormat for parsing and rendering.

Method Summary
 StringgetAsText()
           
 voidsetAsText(String text)
           

Methods inherited from class java.beans.PropertyEditorSupport
firePropertyChange, isPaintable, supportsCustomEditor, getCustomEditor, addPropertyChangeListener, removePropertyChangeListener, getValue, setValue, getJavaInitializationString, getTags, paintValue

Methods inherited from class java.lang.Object
hashCode, notify, notifyAll, wait, wait, wait, getClass, equals, toString

Constructor Detail

CustomNumberEditor

public CustomNumberEditor(Class numberClass, NumberFormat numberFormat, boolean allowEmpty)
throws java.lang.IllegalArgumentException
Create a new instance, using the given NumberFormat for parsing and rendering.

The allowEmpty parameter states if an empty String should be allowed for parsing, i.e. get interpreted as null value. Else, an IllegalArgumentException gets thrown in that case.

Parameters:
numberClass - Number subclass to generate
numberFormat - NumberFormat to use for parsing and rendering
allowEmpty - if empty strings should be allowed
Throws:
IllegalArgumentException - if an invalid numberClass has been specified
Method Detail

getAsText

public String getAsText()

setAsText

public void setAsText(String text)
throws java.lang.IllegalArgumentException

Association Links

to Class java.lang.Class

to Class java.text.NumberFormat