Save This Page
Home » velocity-1.5 » org.apache.velocity.tools » generic » [javadoc | source]
org.apache.velocity.tools.generic
public class: NumberTool [javadoc | source]
java.lang.Object
   org.apache.velocity.tools.generic.NumberTool
Tool for working with Number in Velocity templates. It is useful for accessing and formatting arbitrary Number objects. Also the tool can be used to retrieve NumberFormat instances or make conversions to and from various number types.

Example uses:
$myNumber -> 13.55
$number.format('currency',$myNumber) -> $13.55
$number.format('integer',$myNumber) -> 13

Example toolbox.xml config (if you want to use this with VelocityView):
<tool>
<key>number</key>
<scope>application</scope>
<class>org.apache.velocity.tools.generic.NumberTool</class>
</tool>

This tool is entirely threadsafe, and has no instance members. It may be used in any scope (request, session, or application). As such, the methods are highly interconnected, and overriding key methods provides an easy way to create subclasses that use a non-default format or locale.

Field Summary
public static final  String DEFAULT_FORMAT    The default format to be used when none is specified. 
Constructor:
 public NumberTool() 
Method from org.apache.velocity.tools.generic.NumberTool Summary:
format,   format,   format,   getFormat,   getLocale,   getNumberFormat,   getNumberFormat,   getStyleAsInt,   toNumber,   toNumber,   toNumber
Methods from java.lang.Object:
equals,   getClass,   hashCode,   notify,   notifyAll,   toString,   wait,   wait,   wait
Method from org.apache.velocity.tools.generic.NumberTool Detail:
 public String format(Object obj) 
    Converts the specified object to a number and formats it according to the pattern or style returned by #getFormat() .
 public String format(String format,
    Object obj) 
    Converts the specified object to a number and returns a formatted string representing that number in the locale returned by #getLocale() .
 public String format(String format,
    Object obj,
    Locale locale) 
    Converts the specified object to a number and returns a formatted string representing that number in the specified Locale .
 public String getFormat() 
    Return the pattern or style to be used for formatting numbers when none is specified. This implementation gives a 'default' number format. Subclasses may override this to provide a different default format.

    NOTE: At some point in the future it may be feasible to configure this value via the toolbox definition, but at present, it is not possible to specify custom tool configurations there. For now you should just override this in a subclass to have a different default.

 public Locale getLocale() 
    This implementation returns the default locale. Subclasses may override this to return alternate locales. Please note that doing so will affect all formatting methods where no locale is specified in the parameters.
 public NumberFormat getNumberFormat(String format,
    Locale locale) 
    Returns a NumberFormat instance for the specified format and Locale . If the format specified is a standard style pattern, then a number instance will be returned with the number style set to the specified style. If it is a custom format, then a customized NumberFormat will be returned.
 protected NumberFormat getNumberFormat(int numberStyle,
    Locale locale) 
 protected int getStyleAsInt(String style) 
    Checks a string to see if it matches one of the standard NumberFormat style patterns: NUMBER, CURRENCY, PERCENT, INTEGER, or DEFAULT. if it does it will return the integer constant for that pattern. if not, it will return -1.
 public Number toNumber(Object obj) 
 public Number toNumber(String format,
    Object obj) 
    Converts an object to an instance of Number using the specified format and the Locale returned by #getLocale() if the object is not already an instance of Number.
 public Number toNumber(String format,
    Object obj,
    Locale locale) 
    Converts an object to an instance of Number using the specified format and Locale if the object is not already an instance of Number.