com.interface21.beans.propertyeditors
Class CustomNumberEditor

java.lang.Object
  |
  +--java.beans.PropertyEditorSupport
        |
        +--com.interface21.beans.propertyeditors.CustomNumberEditor
All Implemented Interfaces:
java.beans.PropertyEditor

public class CustomNumberEditor
extends java.beans.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.

Since:
06.06.2003
Author:
Juergen Hoeller

Constructor Summary
CustomNumberEditor(java.lang.Class numberClass, java.text.NumberFormat numberFormat, boolean allowEmpty)
          Create a new instance, using the given NumbreFormat for parsing and rendering.
 
Method Summary
 java.lang.String getAsText()
           
 void setAsText(java.lang.String text)
           
 
Methods inherited from class java.beans.PropertyEditorSupport
addPropertyChangeListener, firePropertyChange, getCustomEditor, getJavaInitializationString, getTags, getValue, isPaintable, paintValue, removePropertyChangeListener, setValue, supportsCustomEditor
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

CustomNumberEditor

public CustomNumberEditor(java.lang.Class numberClass,
                          java.text.NumberFormat numberFormat,
                          boolean allowEmpty)
                   throws java.lang.IllegalArgumentException
Create a new instance, using the given NumbreFormat 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:
java.lang.IllegalArgumentException - if an invalid numberClass has been specified
Method Detail

setAsText

public void setAsText(java.lang.String text)
               throws java.lang.IllegalArgumentException
Overrides:
setAsText in class java.beans.PropertyEditorSupport

getAsText

public java.lang.String getAsText()
Overrides:
getAsText in class java.beans.PropertyEditorSupport


Rod Johnson and Spring contributors 2001-2003.