Package org.zkoss.zul.impl
Class NumberInputElement
- java.lang.Object
-
- org.zkoss.zk.ui.AbstractComponent
-
- org.zkoss.zk.ui.HtmlBasedComponent
-
- org.zkoss.zul.impl.XulElement
-
- org.zkoss.zul.impl.InputElement
-
- org.zkoss.zul.impl.FormatInputElement
-
- org.zkoss.zul.impl.NumberInputElement
-
- All Implemented Interfaces:
java.io.Serializable
,java.lang.Cloneable
,Component
,Disable
,Readonly
,Scope
,ComponentCtrl
,Constrainted
- Direct Known Subclasses:
Decimalbox
,Doublebox
,Doublespinner
,Intbox
,Longbox
,Spinner
public abstract class NumberInputElement extends FormatInputElement
A skeletal implementation for number-type input box.- Author:
- tomyeh
- See Also:
- Serialized Form
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class org.zkoss.zk.ui.HtmlBasedComponent
HtmlBasedComponent.ExtraCtrl
-
Nested classes/interfaces inherited from class org.zkoss.zk.ui.AbstractComponent
AbstractComponent.Children, AbstractComponent.ForwardInfo, AbstractComponent.TargetInfo
-
-
Field Summary
-
Fields inherited from class org.zkoss.zul.impl.InputElement
_cols, _value
-
Fields inherited from class org.zkoss.zk.ui.HtmlBasedComponent
_zclass
-
Fields inherited from interface org.zkoss.zk.ui.Component
APPLICATION_SCOPE, COMPONENT_SCOPE, DESKTOP_SCOPE, PAGE_SCOPE, REQUEST_SCOPE, SESSION_SCOPE, SPACE_SCOPE
-
Fields inherited from interface org.zkoss.zk.ui.sys.ComponentCtrl
AFTER_CHILD_ADDED, AFTER_CHILD_REMOVED, AFTER_PAGE_ATTACHED, AFTER_PAGE_DETACHED, AFTER_PARENT_CHANGED, CE_BUSY_IGNORE, CE_DUPLICATE_IGNORE, CE_IMPORTANT, CE_NON_DEFERRABLE, CE_REPEAT_IGNORE
-
-
Constructor Summary
Constructors Constructor Description NumberInputElement()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected java.lang.String
formatNumber(java.lang.Object value, java.lang.String defaultFormat)
Formats a number (Integer, BigDecimal...) into a string.protected java.lang.String
getDefaultFormat()
Return a default format for the number input element when the locale is specified.protected java.util.Locale
getDefaultLocale()
Returns the default locale, eithergetLocale()
orLocales.getCurrent()
(never null).java.util.Locale
getLocale()
Returns the locale associated with this number input element, or null ifLocales.getCurrent()
is preferred.PropertyAccess
getPropertyAccess(java.lang.String prop)
Returns the corresponding property access object from the given property name, if any.int
getRoundingMode()
Returns the rounding mode.protected boolean
isLocaleFormat()
Returns if the "locale:" inFormatInputElement.getFormat()
is presented.protected void
renderProperties(ContentRenderer renderer)
Renders the content of this component, excluding the enclosing tags and children.void
setLocale(java.lang.String locale)
Sets the locale used to identify the symbols of this number input element.void
setLocale(java.util.Locale locale)
Sets the locale used to identify the symbols of this number input element.void
setRoundingMode(int mode)
Sets the rounding mode.void
setRoundingMode(java.lang.String name)
Sets the rounding mode by the name.protected java.lang.Object[]
toNumberOnly(java.lang.String val)
Filters out non digit characters, such comma and whitespace, from the specified value.-
Methods inherited from class org.zkoss.zul.impl.FormatInputElement
getFormat, getRealFormat, setFormat
-
Methods inherited from class org.zkoss.zul.impl.InputElement
checkUserError, clearErrorMessage, clearErrorMessage, clone, coerceFromString, coerceToString, getCols, getConstraint, getConstraintString, getErrorboxIconSclass, getErrorboxSclass, getErrorMessage, getInputAttributes, getInstant, getMaxlength, getName, getPlaceholder, getRawText, getRawValue, getTargetValue, getText, getType, isChildable, isDisabled, isInplace, isInstant, isMultiline, isReadonly, isValid, marshall, onWrongValue, select, service, setCols, setConstraint, setConstraint, setDisabled, setErrorboxIconSclass, setErrorboxSclass, setErrorMessage, setInplace, setInputAttributes, setInputAttributes, setInsertedText, setInstant, setMaxlength, setName, setPlaceholder, setRawValue, setReadonly, setSelectedText, setSelectionRange, setText, setValueDirectly, showCustomError, unmarshall, validate
-
Methods inherited from class org.zkoss.zul.impl.XulElement
getContext, getCtrlKeys, getPopup, getTooltip, setContext, setContext, setContextAttributes, setCtrlKeys, setPopup, setPopup, setPopupAttributes, setTooltip, setTooltip, setTooltipAttributes
-
Methods inherited from class org.zkoss.zk.ui.HtmlBasedComponent
addSclass, evalCSSFlex, focus, getAction, getClientAction, getDraggable, getDroppable, getExtraCtrl, getHeight, getHflex, getLeft, getRenderdefer, getSclass, getStyle, getTabindex, getTabindexInteger, getTooltiptext, getTop, getVflex, getWidth, getZclass, getZindex, getZIndex, removeSclass, removeSclass, setAction, setClass, setClientAction, setDraggable, setDroppable, setFocus, setHeight, setHeight0, setHeightDirectly, setHflex, setHflex0, setHflexDirectly, setLeft, setLeftDirectly, setRenderdefer, setSclass, setStyle, setTabindex, setTabindex, setTooltiptext, setTop, setTopDirectly, setVflex, setVflex0, setVflexDirectly, setWidth, setWidth0, setWidthDirectly, setZclass, setZindex, setZIndex, setZIndexDirectly
-
Methods inherited from class org.zkoss.zk.ui.AbstractComponent
addAnnotation, addCallback, addClientEvent, addEventHandler, addEventListener, addEventListener, addForward, addForward, addForward, addForward, addMoved, addRedrawCallback, addScopeListener, addShadowRoot, addShadowRootBefore, addSharedEventHandlerMap, appendChild, applyProperties, beforeChildAdded, beforeChildRemoved, beforeParentChanged, destroyIndexCacheMap, detach, didActivate, didActivate, didDeserialize, didDeserialize, disableBindingAnnotation, disableClientUpdate, disableHostChanged, enableBindingAnnotation, enableHostChanged, getAnnotatedProperties, getAnnotatedPropertiesBy, getAnnotation, getAnnotations, getAnnotations, getAttribute, getAttribute, getAttribute, getAttributeOrFellow, getAttributes, getAttributes, getAuService, getAutag, getCallback, getChildren, getClientAttribute, getClientDataAttribute, getClientEvents, getDefaultMold, getDefinition, getDesktop, getEventHandler, getEventHandlerNames, getEventListenerMap, getEventListeners, getFellow, getFellow, getFellowIfAny, getFellowIfAny, getFellows, getFirstChild, getForwards, getId, getIndexCacheMap, getLastChild, getMold, getNextSibling, getPage, getParent, getPreviousSibling, getRedrawCallback, getRoot, getShadowFellowIfAny, getShadowRoots, getShadowVariable, getShadowVariable, getShadowVariable0, getSpaceOwner, getSpecialRendererOutput, getStubonly, getSubBindingAnnotationCount, getTemplate, getTemplateNames, getUuid, getWidgetAttributeNames, getWidgetClass, getWidgetListener, getWidgetListenerNames, getWidgetOverride, getWidgetOverrideNames, hasAttribute, hasAttribute, hasAttribute, hasAttributeOrFellow, hasBindingAnnotation, hasFellow, hasFellow, hasSubBindingAnnotation, initIndexCacheMap, insertBefore, invalidate, isDisabledHostChanged, isInitialized, isInvalidated, isListenerAvailable, isVisible, onChildAdded, onChildRemoved, onPageAttached, onPageDetached, onParentChanged, query, queryAll, redraw, redrawChildren, removeAttribute, removeAttribute, removeAttribute, removeCallback, removeChild, removeEventListener, removeForward, removeForward, removeRedrawCallback, removeScopeListener, removeShadowRoot, render, render, render, renderPropertiesOnly, replace, response, response, response, service, sessionDidActivate, sessionWillPassivate, setAttribute, setAttribute, setAttribute, setAuService, setAutag, setClientAttribute, setClientDataAttribute, setDefinition, setDefinition, setId, setMold, setPage, setPageBefore, setParent, setStubonly, setStubonly, setSubBindingAnnotationCount, setTemplate, setVisible, setVisibleDirectly, setWidgetClass, setWidgetListener, setWidgetOverride, smartUpdate, smartUpdate, smartUpdate, smartUpdate, smartUpdate, smartUpdate, smartUpdate, smartUpdate, smartUpdate, smartUpdateWidgetListener, smartUpdateWidgetOverride, toString, updateByClient, updateSubBindingAnnotationCount, willPassivate, willPassivate, willSerialize, willSerialize
-
-
-
-
Method Detail
-
setRoundingMode
public void setRoundingMode(int mode)
Sets the rounding mode. Note: You cannot change the rounding mode unless you are using Java 6 or later.- Parameters:
mode
- the rounding mode. Allowed value:BigDecimal.ROUND_CEILING
,BigDecimal.ROUND_DOWN
,BigDecimal.ROUND_FLOOR
,BigDecimal.ROUND_HALF_DOWN
,BigDecimal.ROUND_HALF_UP
,BigDecimal.ROUND_HALF_EVEN
,BigDecimal.ROUND_UNNECESSARY
andBigDecimal.ROUND_UP
- Throws:
java.lang.UnsupportedOperationException
- if Java 5 or below
-
setRoundingMode
public void setRoundingMode(java.lang.String name)
Sets the rounding mode by the name. Note: You cannot change the rounding mode unless you are using Java 6 or later.- Parameters:
name
- the rounding mode's name. Allowed value:- CEILING
- Rounding mode to round towards positive infinity.
- DOWN
- Rounding mode to round towards zero.
- FLOOR
- Rounding mode to round towards negative infinity.
- HALF_DOWN
- Rounding mode to round towards "nearest neighbor" unless both neighbors are equidistant, in which case round down.
- HALF_EVEN
- Rounding mode to round towards the "nearest neighbor" unless both neighbors are equidistant, in which case, round towards the even neighbor.
- HALF_UP
- Rounding mode to round towards "nearest neighbor" unless both neighbors are equidistant, in which case round up.
- UNNECESSARY
- Rounding mode to assert that the requested operation has an exact result, hence no rounding is necessary.
- UP
- Rounding mode to round away from zero.
- Throws:
java.lang.UnsupportedOperationException
- if Java 5 or below- See Also:
RoundingModes
-
getRoundingMode
public int getRoundingMode()
Returns the rounding mode.Default:
BigDecimal.ROUND_HALF_EVEN
.
-
getLocale
public java.util.Locale getLocale()
Returns the locale associated with this number input element, or null ifLocales.getCurrent()
is preferred.- Since:
- 5.0.8
-
setLocale
public void setLocale(java.util.Locale locale)
Sets the locale used to identify the symbols of this number input element.Default: null (i.e.,
Locales.getCurrent()
, the current locale is assumed)If the format of
FormatInputElement.getFormat()
is null, the format is assumed fromgetDefaultFormat()
. (since 5.0.9)- Since:
- 5.0.8
-
setLocale
public void setLocale(java.lang.String locale)
Sets the locale used to identify the symbols of this number input element.Default: null (i.e.,
Locales.getCurrent()
, the current locale is assumed)- Since:
- 5.0.8
-
isLocaleFormat
protected boolean isLocaleFormat()
Returns if the "locale:" inFormatInputElement.getFormat()
is presented.- Since:
- 9.5.1
-
getDefaultLocale
protected java.util.Locale getDefaultLocale()
Returns the default locale, eithergetLocale()
orLocales.getCurrent()
(never null). It is useful when you wan to get a locale for this input.- Since:
- 5.0.10
-
renderProperties
protected void renderProperties(ContentRenderer renderer) throws java.io.IOException
Description copied from class:HtmlBasedComponent
Renders the content of this component, excluding the enclosing tags and children.- Overrides:
renderProperties
in classFormatInputElement
- Throws:
java.io.IOException
-
getDefaultFormat
protected java.lang.String getDefaultFormat()
Return a default format for the number input element when the locale is specified.Default:
##,##0.##
, you can overwrite this by specifying the following setting in zk.xml<library-property> <name>org.zkoss.zul.numberFormat</name> <value>##,##0.##</value> </library-property>
- Since:
- 5.0.9
- See Also:
setLocale(Locale)
-
formatNumber
protected java.lang.String formatNumber(java.lang.Object value, java.lang.String defaultFormat)
Formats a number (Integer, BigDecimal...) into a string. If null, an empty string is returned.A utility to assist the handling of numeric data.
- Parameters:
defaultFormat
- used ifFormatInputElement.getFormat()
returns null. If defaultFormat andFormatInputElement.getFormat()
are both null, the system's default format is used.- See Also:
toNumberOnly(java.lang.String)
-
toNumberOnly
protected java.lang.Object[] toNumberOnly(java.lang.String val)
Filters out non digit characters, such comma and whitespace, from the specified value. It is designed to let user enter data in more free style. They may or may not enter data in the specified format.- Returns:
- a two element array. The first element is the string to parse with, say, Double.parseDouble. The second element is an integer to indicate how many digits the result shall be scaled. For example, if the second element is 2. Then, the result shall be divided with 10 ^ 2.
- See Also:
formatNumber(java.lang.Object, java.lang.String)
-
getPropertyAccess
public PropertyAccess getPropertyAccess(java.lang.String prop)
Description copied from interface:ComponentCtrl
Returns the corresponding property access object from the given property name, if any.- Specified by:
getPropertyAccess
in interfaceComponentCtrl
- Overrides:
getPropertyAccess
in classFormatInputElement
- Parameters:
prop
- the name of the property- Returns:
- null it means not to support for the property name.
-
-