Class ValueParser
- java.lang.Object
-
- org.apache.velocity.tools.generic.ValueParser
-
- Direct Known Subclasses:
ParameterParser
public class ValueParser extends java.lang.ObjectUtility class for easy parsing of String values held in a Map.
Template example(s): $parser.foo -> bar $parser.getNumber('baz') -> 12.6 $parser.getInt('baz') -> 12 $parser.getNumbers('baz') -> [12.6] Toolbox configuration: <tool> <key>parser</key> <class>org.apache.velocity.generic.ValueParser</class> </tool>This comes in very handy when parsing parameters.
- Since:
- VelocityTools 1.2
- Version:
- $Revision: 497988 $ $Date: 2007-01-19 14:48:13 -0800 (Fri, 19 Jan 2007) $
- Author:
- Nathan Bubna
-
-
Constructor Summary
Constructors Constructor Description ValueParser()ValueParser(java.util.Map source)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description booleanexists(java.lang.String key)Convenience method for checking whether a certain parameter exists.java.lang.Objectget(java.lang.String key)Convenience method for use in Velocity templates.java.lang.BooleangetBoolean(java.lang.String key)booleangetBoolean(java.lang.String key, boolean alternate)java.lang.BooleangetBoolean(java.lang.String key, java.lang.Boolean alternate)java.lang.Boolean[]getBooleans(java.lang.String key)java.lang.DoublegetDouble(java.lang.String key)doublegetDouble(java.lang.String key, double alternate)java.lang.DoublegetDouble(java.lang.String key, java.lang.Double alternate)double[]getDoubles(java.lang.String key)intgetInt(java.lang.String key, int alternate)java.lang.IntegergetInteger(java.lang.String key)java.lang.IntegergetInteger(java.lang.String key, java.lang.Integer alternate)int[]getInts(java.lang.String key)java.util.LocalegetLocale(java.lang.String key)java.util.LocalegetLocale(java.lang.String key, java.util.Locale alternate)java.util.Locale[]getLocales(java.lang.String key)java.lang.NumbergetNumber(java.lang.String key)java.lang.NumbergetNumber(java.lang.String key, java.lang.Number alternate)java.lang.Number[]getNumbers(java.lang.String key)protected java.util.MapgetSource()java.lang.StringgetString(java.lang.String key)java.lang.StringgetString(java.lang.String key, java.lang.String alternate)java.lang.String[]getStrings(java.lang.String key)protected java.lang.StringgetStringsDelimiter()Returns the delimiter used for separating values in a single String value.protected java.lang.BooleanparseBoolean(java.lang.String value)Converts a parameter value into aBooleanSub-classes can override to allow for customized boolean parsing.protected java.util.LocaleparseLocale(java.lang.String value)Converts a String value into a Locale.protected java.lang.NumberparseNumber(java.lang.String value)Converts a parameter value into aNumberThis is used as the base for all numeric parsing methods.protected java.lang.String[]parseStringList(java.lang.String value)Converts a single String value into an array of Strings by splitting it on the tool's set delimiter.protected voidsetSource(java.util.Map source)protected voidsetStringsDelimiter(java.lang.String delimiter)Sets the delimiter used for separating values in a single String value.
-
-
-
Method Detail
-
setSource
protected void setSource(java.util.Map source)
-
getSource
protected java.util.Map getSource()
-
setStringsDelimiter
protected final void setStringsDelimiter(java.lang.String delimiter)
Sets the delimiter used for separating values in a single String value. The default delimiter is a comma.- Since:
- VelocityTools 1.3
- See Also:
parseStringList(java.lang.String)
-
getStringsDelimiter
protected final java.lang.String getStringsDelimiter()
Returns the delimiter used for separating values in a single String value. The default delimiter is a comma.- Since:
- VelocityTools 1.3
- See Also:
parseStringList(java.lang.String)
-
exists
public boolean exists(java.lang.String key)
Convenience method for checking whether a certain parameter exists.- Parameters:
key- the parameter's key- Returns:
trueif a parameter exists for the specified key; otherwise, returnsfalse.
-
get
public java.lang.Object get(java.lang.String key)
Convenience method for use in Velocity templates. This allows for easy "dot" access to parameters. e.g. $params.foo instead of $params.getString('foo')- Parameters:
key- the parameter's key- Returns:
- parameter matching the specified key or
nullif there is no matching parameter
-
getString
public java.lang.String getString(java.lang.String key)
- Parameters:
key- the parameter's key- Returns:
- parameter matching the specified key or
nullif there is no matching parameter
-
getString
public java.lang.String getString(java.lang.String key, java.lang.String alternate)- Parameters:
key- the desired parameter's keyalternate- The alternate value- Returns:
- parameter matching the specified key or the specified alternate String if there is no matching parameter
-
getBoolean
public java.lang.Boolean getBoolean(java.lang.String key)
- Parameters:
key- the desired parameter's key- Returns:
- a
Booleanobject for the specified key ornullif no matching parameter is found
-
getBoolean
public boolean getBoolean(java.lang.String key, boolean alternate)- Parameters:
key- the desired parameter's keyalternate- The alternate boolean value- Returns:
- boolean value for the specified key or the alternate boolean is no value is found
-
getBoolean
public java.lang.Boolean getBoolean(java.lang.String key, java.lang.Boolean alternate)- Parameters:
key- the desired parameter's keyalternate- the alternateBoolean- Returns:
- a
Booleanfor the specified key or the specified alternate if no matching parameter is found
-
getInteger
public java.lang.Integer getInteger(java.lang.String key)
- Parameters:
key- the desired parameter's key- Returns:
- a
Integerfor the specified key ornullif no matching parameter is found
-
getInteger
public java.lang.Integer getInteger(java.lang.String key, java.lang.Integer alternate)- Parameters:
key- the desired parameter's keyalternate- The alternate Integer- Returns:
- an Integer for the specified key or the specified alternate if no matching parameter is found
-
getDouble
public java.lang.Double getDouble(java.lang.String key)
- Parameters:
key- the desired parameter's key- Returns:
- a
Doublefor the specified key ornullif no matching parameter is found
-
getDouble
public java.lang.Double getDouble(java.lang.String key, java.lang.Double alternate)- Parameters:
key- the desired parameter's keyalternate- The alternate Double- Returns:
- an Double for the specified key or the specified alternate if no matching parameter is found
-
getNumber
public java.lang.Number getNumber(java.lang.String key)
- Parameters:
key- the desired parameter's key- Returns:
- a
Numberfor the specified key ornullif no matching parameter is found
-
getLocale
public java.util.Locale getLocale(java.lang.String key)
- Parameters:
key- the desired parameter's key- Returns:
- a
Localefor the specified key ornullif no matching parameter is found
-
getNumber
public java.lang.Number getNumber(java.lang.String key, java.lang.Number alternate)- Parameters:
key- the desired parameter's keyalternate- The alternate Number- Returns:
- a Number for the specified key or the specified alternate if no matching parameter is found
-
getInt
public int getInt(java.lang.String key, int alternate)- Parameters:
key- the desired parameter's keyalternate- The alternate int value- Returns:
- the int value for the specified key or the specified alternate value if no matching parameter is found
-
getDouble
public double getDouble(java.lang.String key, double alternate)- Parameters:
key- the desired parameter's keyalternate- The alternate double value- Returns:
- the double value for the specified key or the specified alternate value if no matching parameter is found
-
getLocale
public java.util.Locale getLocale(java.lang.String key, java.util.Locale alternate)- Parameters:
key- the desired parameter's keyalternate- The alternate Locale- Returns:
- a Locale for the specified key or the specified alternate if no matching parameter is found
-
getStrings
public java.lang.String[] getStrings(java.lang.String key)
- Parameters:
key- the key for the desired parameter- Returns:
- an array of String objects containing all of the values
associated with the given key, or
nullif the no values are associated with the given key
-
getBooleans
public java.lang.Boolean[] getBooleans(java.lang.String key)
- Parameters:
key- the key for the desired parameter- Returns:
- an array of Boolean objects associated with the given key.
-
getNumbers
public java.lang.Number[] getNumbers(java.lang.String key)
- Parameters:
key- the key for the desired parameter- Returns:
- an array of Number objects associated with the given key,
or
nullif Numbers are not associated with it.
-
getInts
public int[] getInts(java.lang.String key)
- Parameters:
key- the key for the desired parameter- Returns:
- an array of int values associated with the given key,
or
nullif numbers are not associated with it.
-
getDoubles
public double[] getDoubles(java.lang.String key)
- Parameters:
key- the key for the desired parameter- Returns:
- an array of double values associated with the given key,
or
nullif numbers are not associated with it.
-
getLocales
public java.util.Locale[] getLocales(java.lang.String key)
- Parameters:
key- the key for the desired parameter- Returns:
- an array of Locale objects associated with the given key,
or
nullif Locales are not associated with it.
-
parseNumber
protected java.lang.Number parseNumber(java.lang.String value) throws java.lang.NumberFormatExceptionConverts a parameter value into aNumberThis is used as the base for all numeric parsing methods. So, sub-classes can override to allow for customized number parsing. (e.g. to handle fractions, compound numbers, etc.)- Parameters:
value- the string to be parsed- Returns:
- the value as a
Number - Throws:
java.lang.NumberFormatException
-
parseBoolean
protected java.lang.Boolean parseBoolean(java.lang.String value)
Converts a parameter value into aBooleanSub-classes can override to allow for customized boolean parsing. (e.g. to handle "Yes/No" or "T/F")- Parameters:
value- the string to be parsed- Returns:
- the value as a
Boolean
-
parseStringList
protected java.lang.String[] parseStringList(java.lang.String value)
Converts a single String value into an array of Strings by splitting it on the tool's set delimiter. The default delimiter is a comma.- Since:
- VelocityTools 1.3
-
parseLocale
protected java.util.Locale parseLocale(java.lang.String value)
Converts a String value into a Locale.- Since:
- VelocityTools 1.3
-
-