org.zkoss.zul.impl
Class NumberInputElement

java.lang.Object
  extended by org.zkoss.zk.ui.AbstractComponent
      extended by org.zkoss.zk.ui.HtmlBasedComponent
          extended by org.zkoss.zul.impl.XulElement
              extended by org.zkoss.zul.impl.InputElement
                  extended by org.zkoss.zul.impl.FormatInputElement
                      extended by 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
 
Field Summary
 
Fields inherited from class org.zkoss.zul.impl.InputElement
_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
CE_BUSY_IGNORE, CE_DUPLICATE_IGNORE, CE_IMPORTANT, CE_NON_DEFERRABLE, CE_REPEAT_IGNORE
 
Constructor Summary
NumberInputElement()
           
 
Method Summary
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, either getLocale() or Locales.getCurrent() (never null).
 java.util.Locale getLocale()
          Returns the locale associated with this number input element, or null if Locales.getCurrent() is preferred.
 int getRoundingMode()
          Returns the rounding mode.
protected  void renderProperties(ContentRenderer renderer)
          Renders the content of this component, excluding the enclosing tags and children.
 void setLocale(java.util.Locale locale)
          Sets the locale used to identify the symbols of this number input element.
 void setLocale(java.lang.String 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, getErrorMessage, getInstant, getMaxlength, getName, getPlaceholder, getRawText, getRawValue, getTabindex, getTargetValue, getText, getType, isChildable, isDisabled, isInplace, isMultiline, isReadonly, isValid, marshall, onWrongValue, select, service, setCols, setConstraint, setConstraint, setDisabled, setErrorMessage, setInplace, setInstant, setMaxlength, setName, setPlaceholder, setRawValue, setReadonly, setSelectedText, setSelectionRange, setTabindex, setText, setValueDirectly, showCustomError, unmarshall, validate
 
Methods inherited from class org.zkoss.zul.impl.XulElement
getContext, getCtrlKeys, getPopup, getTooltip, setContext, setContext, setCtrlKeys, setPopup, setPopup, setTooltip, setTooltip
 
Methods inherited from class org.zkoss.zk.ui.HtmlBasedComponent
focus, getAction, getDraggable, getDroppable, getExtraCtrl, getHeight, getHflex, getLeft, getRenderdefer, getSclass, getStyle, getTooltiptext, getTop, getVflex, getWidth, getZclass, getZindex, getZIndex, setAction, setClass, setDraggable, setDroppable, setFocus, setHeight, setHeightDirectly, setHflex, setHflexDirectly, setLeft, setLeftDirectly, setRenderdefer, setSclass, setStyle, setTooltiptext, setTop, setTopDirectly, setVflex, setWidth, setWidthDirectly, setZclass, setZindex, setZIndex, setZIndexDirectly
 
Methods inherited from class org.zkoss.zk.ui.AbstractComponent
addAnnotation, addAnnotation, addClientEvent, addEventHandler, addEventListener, addEventListener, addForward, addForward, addForward, addForward, addMoved, addScopeListener, addSharedEventHandlerMap, appendChild, applyProperties, beforeChildAdded, beforeChildRemoved, beforeParentChanged, detach, didActivate, didActivate, didDeserialize, didDeserialize, disableClientUpdate, equals, getAnnotatedProperties, getAnnotatedPropertiesBy, getAnnotation, getAnnotation, getAnnotations, getAnnotations, getAnnotations, getAttribute, getAttribute, getAttribute, getAttributeOrFellow, getAttributes, getAttributes, getAuService, getAutag, getChildren, getClientEvents, getDefaultMold, getDefinition, getDesktop, getEventHandler, getEventHandlerNames, getEventListenerMap, getEventListeners, getFellow, getFellow, getFellowIfAny, getFellowIfAny, getFellows, getFirstChild, getId, getLastChild, getListenerIterator, getMold, getNextSibling, getPage, getParent, getPreviousSibling, getRoot, getSpaceOwner, getStubonly, getTemplate, getTemplateNames, getUuid, getWidgetAttribute, getWidgetAttributeNames, getWidgetClass, getWidgetListener, getWidgetListenerNames, getWidgetOverride, getWidgetOverrideNames, hasAttribute, hasAttribute, hasAttribute, hasAttributeOrFellow, hasFellow, hasFellow, insertBefore, invalidate, isInvalidated, isListenerAvailable, isVisible, onChildAdded, onChildRemoved, onPageAttached, onPageDetached, query, queryAll, redraw, redrawChildren, removeAttribute, removeAttribute, removeAttribute, removeChild, removeEventListener, removeForward, removeForward, removeScopeListener, render, render, render, replace, response, response, response, service, sessionDidActivate, sessionWillPassivate, setAttribute, setAttribute, setAttribute, setAuService, setAutag, setDefinition, setDefinition, setId, setMold, setPage, setPageBefore, setParent, setStubonly, setStubonly, setTemplate, setVisible, setVisibleDirectly, setWidgetAttribute, setWidgetClass, setWidgetListener, setWidgetOverride, smartUpdate, smartUpdate, smartUpdate, smartUpdate, smartUpdate, smartUpdate, smartUpdate, smartUpdate, smartUpdate, smartUpdateWidgetListener, smartUpdateWidgetOverride, toString, updateByClient, willPassivate, willPassivate, willSerialize, willSerialize
 
Methods inherited from class java.lang.Object
finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

NumberInputElement

public NumberInputElement()
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 and BigDecimal.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 if Locales.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 from getDefaultFormat(). (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

getDefaultLocale

protected java.util.Locale getDefaultLocale()
Returns the default locale, either getLocale() or Locales.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.

See also ZK Client-side Reference: Property Rendering

Overrides:
renderProperties in class FormatInputElement
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


        
                org.zkoss.zul.numberFormat
                ##,##0.##
        
 

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 if FormatInputElement.getFormat() returns null. If defaultFormat and FormatInputElement.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)


Copyright © 2005-2011 Potix Corporation. All Rights Reserved. SourceForge.net Logo