Class NumberTool
- java.lang.Object
-
- org.apache.velocity.tools.generic.SafeConfig
-
- org.apache.velocity.tools.generic.LocaleConfig
-
- org.apache.velocity.tools.generic.FormatConfig
-
- org.apache.velocity.tools.generic.NumberTool
-
- All Implemented Interfaces:
java.io.Serializable
@DefaultKey("number") public class NumberTool extends FormatConfig implements java.io.Serializable
Tool for working with
Numberin Velocity templates. It is useful for accessing and formatting arbitraryNumberobjects. Also the tool can be used to retrieveNumberFormatinstances or make conversions to and from various number types.Example uses: $myNumber -gt; 13.55 $number.format($myNumber) -gt; 13.6 $number.currency($myNumber) -gt; $13.55 $number.integer($myNumber) -gt; 13 Example tools.xml config (if you want to use this with VelocityView): <tools> <toolbox scope="application"> <tool class="org.apache.velocity.tools.generic.MathTool"/> </toolbox> </tools>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.
- Since:
- VelocityTools 1.2
- Version:
- $Id$
- Author:
- Nathan Bubna, Mike Kienenberger
- See Also:
- Serialized Form
-
-
Field Summary
-
Fields inherited from class org.apache.velocity.tools.generic.FormatConfig
DEFAULT_FORMAT, FORMAT_KEY
-
Fields inherited from class org.apache.velocity.tools.generic.LocaleConfig
DEFAULT_LOCALE
-
Fields inherited from class org.apache.velocity.tools.generic.SafeConfig
LOCK_CONFIG_KEY, log, LOGGER_NAME_KEY, SAFE_MODE_KEY, USE_CLASS_LOGGER_KEY
-
-
Constructor Summary
Constructors Constructor Description NumberTool()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description java.lang.Stringcurrency(java.lang.Object obj)Convenience method equivalent to $number.format("currency", $foo).java.lang.Stringformat(java.lang.Object obj)Converts the specified object to a number and formats it according to the pattern or style returned byFormatConfig.getFormat().java.lang.Stringformat(java.lang.String format, java.lang.Object obj)Converts the specified object to a number and returns a formatted string representing that number in the locale returned byLocaleConfig.getLocale().java.lang.Stringformat(java.lang.String format, java.lang.Object obj, java.util.Locale locale)Converts the specified object to a number and returns a formatted string representing that number in the specifiedLocale.java.text.NumberFormatgetNumberFormat(java.lang.String format, java.util.Locale locale)Returns aNumberFormatinstance for the specified format andLocale.java.lang.Stringinteger(java.lang.Object obj)Convenience method equivalent to $number.format("integer", $foo).java.lang.Stringnumber(java.lang.Object obj)Convenience method equivalent to $number.format("number", $foo).java.lang.Stringpercent(java.lang.Object obj)Convenience method equivalent to $number.format("percent", $foo).java.lang.BooleantoBoolean(java.lang.Object value)Converts an object to an instance ofBooleanif the object is not already an instance of Boolean.java.lang.NumbertoNumber(java.lang.Object obj)Converts an object to an instance ofNumberusing the format returned byFormatConfig.getFormat()and theLocalereturned byLocaleConfig.getLocale()if the object is not already an instance of Number.java.lang.NumbertoNumber(java.lang.String format, java.lang.Object obj)Converts an object to an instance ofNumberusing the specified format and theLocalereturned byLocaleConfig.getLocale()if the object is not already an instance of Number.java.lang.NumbertoNumber(java.lang.String format, java.lang.Object obj, java.util.Locale locale)Converts an object to an instance ofNumberusing the specified format andLocaleif the object is not already an instance of Number.-
Methods inherited from class org.apache.velocity.tools.generic.FormatConfig
configure, getFormat, setFormat
-
Methods inherited from class org.apache.velocity.tools.generic.LocaleConfig
getLocale, setLocale, toLocale
-
Methods inherited from class org.apache.velocity.tools.generic.SafeConfig
configure, getLog, initLogger, isConfigLocked, isSafeMode, setLockConfig, setSafeMode
-
-
-
-
Method Detail
-
format
public java.lang.String format(java.lang.Object obj)
Converts the specified object to a number and formats it according to the pattern or style returned byFormatConfig.getFormat().- Parameters:
obj- the number object to be formatted- Returns:
- the specified number formatted as a string
- See Also:
format(String format, Object obj, Locale locale)
-
currency
public java.lang.String currency(java.lang.Object obj)
Convenience method equivalent to $number.format("currency", $foo).- Parameters:
obj- the number object to be formatted- Returns:
- the specified number formatted as a currency
- Since:
- VelocityTools 1.3
-
integer
public java.lang.String integer(java.lang.Object obj)
Convenience method equivalent to $number.format("integer", $foo).- Parameters:
obj- the number object to be formatted- Returns:
- the specified number formatted as an integer
- Since:
- VelocityTools 1.3
-
number
public java.lang.String number(java.lang.Object obj)
Convenience method equivalent to $number.format("number", $foo).- Parameters:
obj- the number object to be formatted- Returns:
- the specified number formatted as a number
- Since:
- VelocityTools 1.3
-
percent
public java.lang.String percent(java.lang.Object obj)
Convenience method equivalent to $number.format("percent", $foo).- Parameters:
obj- the number object to be formatted- Returns:
- the specified number formatted as a percentage
- Since:
- VelocityTools 1.3
-
format
public java.lang.String format(java.lang.String format, java.lang.Object obj)Converts the specified object to a number and returns a formatted string representing that number in the locale returned byLocaleConfig.getLocale().- Parameters:
format- the formatting instructionsobj- the number object to be formatted- Returns:
- a formatted string for this locale representing the specified
number or
nullif the parameters are invalid - See Also:
format(String format, Object obj, Locale locale)
-
format
public java.lang.String format(java.lang.String format, java.lang.Object obj, java.util.Locale locale)Converts the specified object to a number and returns a formatted string representing that number in the specifiedLocale.- Parameters:
format- the custom or standard pattern to be usedobj- the number object to be formattedlocale- theLocaleto be used when formatting- Returns:
- a formatted string representing the specified number or
nullif the parameters are invalid
-
getNumberFormat
public java.text.NumberFormat getNumberFormat(java.lang.String format, java.util.Locale locale)Returns aNumberFormatinstance for the specified format andLocale. 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 customizedNumberFormatwill be returned.- Parameters:
format- the custom or standard formatting pattern to be usedlocale- theLocaleto be used- Returns:
- an instance of
NumberFormat - See Also:
NumberFormat
-
toNumber
public java.lang.Number toNumber(java.lang.Object obj)
Converts an object to an instance ofNumberusing the format returned byFormatConfig.getFormat()and theLocalereturned byLocaleConfig.getLocale()if the object is not already an instance of Number.- Parameters:
obj- the number to convert- Returns:
- the object as a
Numberornullif no conversion is possible
-
toNumber
public java.lang.Number toNumber(java.lang.String format, java.lang.Object obj)Converts an object to an instance ofNumberusing the specified format and theLocalereturned byLocaleConfig.getLocale()if the object is not already an instance of Number.- Parameters:
format- - the format the number is inobj- - the number to convert- Returns:
- the object as a
Numberornullif no conversion is possible - See Also:
toNumber(String format, Object obj, Locale locale)
-
toNumber
public java.lang.Number toNumber(java.lang.String format, java.lang.Object obj, java.util.Locale locale)Converts an object to an instance ofNumberusing the specified format andLocaleif the object is not already an instance of Number.- Parameters:
format- - the format the number is inobj- - the number to convertlocale- - theLocale- Returns:
- the object as a
Numberornullif no conversion is possible - See Also:
NumberFormat.parse(java.lang.String, java.text.ParsePosition)
-
toBoolean
public java.lang.Boolean toBoolean(java.lang.Object value)
Converts an object to an instance ofBooleanif the object is not already an instance of Boolean.- Parameters:
value- the object to be converted- Returns:
- a
Booleanobject for the specified value ornullif the value is null or the conversion failed
-
-