public class CustomNumberEditor extends PropertyEditorSupport
decode / valueOf / toString methods.
This is not meant to be used as system PropertyEditor but rather as locale-specific number editor within custom controller code, parsing user-entered number strings into Number properties of beans and rendering them in the UI form.
In web MVC code, this editor will typically be registered with
binder.registerCustomEditor calls.
Number,
NumberFormat,
org.springframework.validation.DataBinder#registerCustomEditor| Constructor and Description |
|---|
CustomNumberEditor(Class<? extends Number> numberClass,
boolean allowEmpty)
Create a new CustomNumberEditor instance, using the default
valueOf methods for parsing and toString
methods for rendering. |
CustomNumberEditor(Class<? extends Number> numberClass,
NumberFormat numberFormat,
boolean allowEmpty)
Create a new CustomNumberEditor instance, using the given NumberFormat
for parsing and rendering.
|
| Modifier and Type | Method and Description |
|---|---|
String |
getAsText()
Format the Number as String, using the specified NumberFormat.
|
void |
setAsText(String text)
Parse the Number from the given text, using the specified NumberFormat.
|
void |
setValue(Object value)
Coerce a Number value into the required target class, if necessary.
|
addPropertyChangeListener, firePropertyChange, getCustomEditor, getJavaInitializationString, getSource, getTags, getValue, isPaintable, paintValue, removePropertyChangeListener, setSource, supportsCustomEditorpublic CustomNumberEditor(Class<? extends Number> numberClass, boolean allowEmpty) throws IllegalArgumentException
valueOf methods for parsing and toString
methods for 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.
numberClass - Number subclass to generateallowEmpty - if empty strings should be allowedIllegalArgumentException - if an invalid numberClass has been specifiedNumberUtils.parseNumber(String, Class),
Integer.valueOf(java.lang.String, int),
Integer.toString(int, int)public CustomNumberEditor(Class<? extends Number> numberClass, NumberFormat numberFormat, boolean allowEmpty) throws IllegalArgumentException
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.
numberClass - Number subclass to generatenumberFormat - NumberFormat to use for parsing and renderingallowEmpty - if empty strings should be allowedIllegalArgumentException - if an invalid numberClass has been specifiedNumberUtils.parseNumber(String, Class, java.text.NumberFormat),
NumberFormat.parse(java.lang.String, java.text.ParsePosition),
NumberFormat.format(java.lang.Object, java.lang.StringBuffer, java.text.FieldPosition)public void setAsText(String text) throws IllegalArgumentException
setAsText in interface PropertyEditorsetAsText in class PropertyEditorSupportIllegalArgumentExceptionpublic void setValue(Object value)
setValue in interface PropertyEditorsetValue in class PropertyEditorSupportpublic String getAsText()
getAsText in interface PropertyEditorgetAsText in class PropertyEditorSupport