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
,
DataBinder.registerCustomEditor(java.lang.Class<?>, java.beans.PropertyEditor)
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, supportsCustomEditor
public 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, @Nullable 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 PropertyEditor
setAsText
in class PropertyEditorSupport
IllegalArgumentException
public void setValue(@Nullable Object value)
setValue
in interface PropertyEditor
setValue
in class PropertyEditorSupport
public String getAsText()
getAsText
in interface PropertyEditor
getAsText
in class PropertyEditorSupport