|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object java.beans.PropertyEditorSupport org.springframework.beans.propertyeditors.CustomNumberEditor
public class CustomNumberEditor
Property editor for any Number subclass such as Short, Integer, Long,
BigInteger, Float, Double, BigDecimal. Can use a given NumberFormat for
(locale-specific) parsing and rendering, or alternatively the default
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 in a custom
initBinder
method.
Number
,
NumberFormat
,
DataBinder.registerCustomEditor(java.lang.Class>, java.beans.PropertyEditor)
,
BaseCommandController.initBinder(HttpServletRequest, org.springframework.web.bind.ServletRequestDataBinder)
Field Summary | |
---|---|
private boolean |
allowEmpty
|
private java.lang.Class<? extends java.lang.Number> |
numberClass
|
private java.text.NumberFormat |
numberFormat
|
Constructor Summary | |
---|---|
CustomNumberEditor(java.lang.Class<? extends java.lang.Number> numberClass,
boolean allowEmpty)
Create a new CustomNumberEditor instance, using the default valueOf methods for parsing and toString
methods for rendering. |
|
CustomNumberEditor(java.lang.Class<? extends java.lang.Number> numberClass,
java.text.NumberFormat numberFormat,
boolean allowEmpty)
Create a new CustomNumberEditor instance, using the given NumberFormat for parsing and rendering. |
Method Summary | |
---|---|
java.lang.String |
getAsText()
Format the Number as String, using the specified NumberFormat. |
void |
setAsText(java.lang.String text)
Parse the Number from the given text, using the specified NumberFormat. |
void |
setValue(java.lang.Object value)
Coerce a Number value into the required target class, if necessary. |
Methods inherited from class java.beans.PropertyEditorSupport |
---|
addPropertyChangeListener, firePropertyChange, getCustomEditor, getJavaInitializationString, getSource, getTags, getValue, isPaintable, paintValue, removePropertyChangeListener, setSource, supportsCustomEditor |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
---|
private final java.lang.Class<? extends java.lang.Number> numberClass
private final java.text.NumberFormat numberFormat
private final boolean allowEmpty
Constructor Detail |
---|
public CustomNumberEditor(java.lang.Class<? extends java.lang.Number> numberClass, boolean allowEmpty) throws java.lang.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 allowed
java.lang.IllegalArgumentException
- if an invalid numberClass has been specifiedNumberUtils.parseNumber(String, Class)
,
Integer.valueOf(java.lang.String, int)
,
Integer.toString(int, int)
public CustomNumberEditor(java.lang.Class<? extends java.lang.Number> numberClass, java.text.NumberFormat numberFormat, boolean allowEmpty) throws java.lang.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 allowed
java.lang.IllegalArgumentException
- 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)
Method Detail |
---|
public void setAsText(java.lang.String text) throws java.lang.IllegalArgumentException
setAsText
in interface java.beans.PropertyEditor
setAsText
in class java.beans.PropertyEditorSupport
java.lang.IllegalArgumentException
public void setValue(java.lang.Object value)
setValue
in interface java.beans.PropertyEditor
setValue
in class java.beans.PropertyEditorSupport
public java.lang.String getAsText()
getAsText
in interface java.beans.PropertyEditor
getAsText
in class java.beans.PropertyEditorSupport
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |