| java.lang.Object org.apache.velocity.tools.generic.NumberTool
NumberTool | public class NumberTool (Code) | | 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.
author: Nathan Bubna author: Mike Kienenberger since: VelocityTools 1.2 version: $Id: NumberTool.java 479724 2006-11-27 18:49:37Z nbubna $ |
Field Summary | |
final public static String | DEFAULT_FORMAT The default format to be used when none is specified. |
Constructor Summary | |
public | NumberTool() Default constructor. |
Method Summary | |
public String | currency(Object obj) Convenience method equivalent to $number.format("currency", $foo). | public String | format(Object obj) Converts the specified object to a number and formats it according to
the pattern or style returned by
NumberTool.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
NumberTool.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. | public Locale | getLocale() This implementation returns the default locale. | public NumberFormat | getNumberFormat(String format, Locale locale) Returns a
NumberFormat instance for the specified
format and
Locale . | protected NumberFormat | getNumberFormat(int numberStyle, Locale locale) Returns a
NumberFormat instance for the specified
number style and
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. | public String | integer(Object obj) Convenience method equivalent to $number.format("integer", $foo). | public String | number(Object obj) Convenience method equivalent to $number.format("number", $foo). | public String | percent(Object obj) Convenience method equivalent to $number.format("percent", $foo). | public Number | toNumber(Object obj) Converts an object to an instance of
Number using the
format returned by
NumberTool.getFormat() and the
Locale returned by
NumberTool.getLocale() if the object is not already
an instance of Number. | public Number | toNumber(String format, Object obj) Converts an object to an instance of
Number using the
specified format and the
Locale returned by
NumberTool.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. |
DEFAULT_FORMAT | final public static String DEFAULT_FORMAT(Code) | | The default format to be used when none is specified.
|
NumberTool | public NumberTool()(Code) | | Default constructor.
|
currency | public String currency(Object obj)(Code) | | Convenience method equivalent to $number.format("currency", $foo).
since: VelocityTools 1.3 |
format | public String format(String format, Object obj, Locale locale)(Code) | | Converts the specified object to a number and returns
a formatted string representing that number in the specified
Locale .
Parameters: format - the custom or standard pattern to be used Parameters: obj - the number object to be formatted Parameters: locale - the Locale to be used when formatting a formatted string representing the specified number ornull if the parameters are invalid |
getFormat | public String getFormat()(Code) | | 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.
|
getLocale | public Locale getLocale()(Code) | | 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.
the default Locale |
getNumberFormat | public NumberFormat getNumberFormat(String format, Locale locale)(Code) | | 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.
Parameters: format - the custom or standard formatting pattern to be used Parameters: locale - the Locale to be used an instance of NumberFormat See Also: NumberFormat |
getNumberFormat | protected NumberFormat getNumberFormat(int numberStyle, Locale locale)(Code) | | Returns a
NumberFormat instance for the specified
number style and
Locale .
Parameters: numberStyle - the number style (number will be ignored if this isless than zero or the number style is not recognized) Parameters: locale - the Locale to be used an instance of NumberFormat or null if an instance cannot be constructed with the givenparameters |
getStyleAsInt | protected int getStyleAsInt(String style)(Code) | | 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.
See Also: NumberFormat Parameters: style - the string to be checked the int identifying the style pattern |
integer | public String integer(Object obj)(Code) | | Convenience method equivalent to $number.format("integer", $foo).
since: VelocityTools 1.3 |
number | public String number(Object obj)(Code) | | Convenience method equivalent to $number.format("number", $foo).
since: VelocityTools 1.3 |
percent | public String percent(Object obj)(Code) | | Convenience method equivalent to $number.format("percent", $foo).
since: VelocityTools 1.3 |
toNumber | public Number toNumber(String format, Object obj, Locale locale)(Code) | | Converts an object to an instance of
Number using the
specified format and
Locale if the object is not already
an instance of Number.
Parameters: format - - the format the number is in Parameters: obj - - the number to convert Parameters: locale - - the Locale the object as a Number or null if noconversion is possible See Also: NumberFormat.parse |
|
|