org.apache.fulcrum.parser
Class BaseValueParser

java.lang.Object
  extended by org.apache.fulcrum.parser.BaseValueParser
All Implemented Interfaces:
org.apache.avalon.framework.logger.LogEnabled, ParserServiceSupport, ValueParser, org.apache.fulcrum.pool.Recyclable
Direct Known Subclasses:
DefaultCookieParser, DefaultParameterParser, StringValueParser

public class BaseValueParser
extends Object
implements ValueParser, org.apache.fulcrum.pool.Recyclable, ParserServiceSupport, org.apache.avalon.framework.logger.LogEnabled

BaseValueParser is a base class for classes that need to parse name/value Parameters, for example GET/POST data or Cookies (DefaultParameterParser and DefaultCookieParser)

It can also be used standalone, for an example see DataStreamParser.

NOTE: The name= portion of a name=value pair may be converted to lowercase or uppercase when the object is initialized and when new data is added. This behaviour is determined by the url.case.folding property in TurbineResources.properties. Adding a name/value pair may overwrite existing name=value pairs if the names match:

 ValueParser vp = new BaseValueParser();
 vp.add("ERROR",1);
 vp.add("eRrOr",2);
 int result = vp.getInt("ERROR");
 
In the above example, result is 2.

Version:
$Id: BaseValueParser.java 659983 2008-05-25 13:56:48Z tv $
Author:
Ilkka Priha, Jon S. Stevens, Sean Legassick, Jason van Zyl, Jürgen Hoffmann, Thomas Vandahl

Field Summary
protected  Hashtable parameters
          Random access storage for parameter data.
protected  ParserService parserService
          The ParserService instance to query for conversion and configuration
 
Fields inherited from interface org.apache.fulcrum.parser.ValueParser
DEFAULT_CHARACTER_ENCODING
 
Constructor Summary
BaseValueParser()
           
BaseValueParser(String characterEncoding)
          Constructor that takes a character encoding
BaseValueParser(String characterEncoding, Locale locale)
          Constructor that takes a character encoding and a locale
 
Method Summary
 void add(String name, double value)
          Add a name/value pair into this object.
 void add(String name, int value)
          Add a name/value pair into this object.
 void add(String name, Integer value)
          Add a name/value pair into this object.
 void add(String name, long value)
          Add a name/value pair into this object.
 void add(String name, String value)
          Add a name/value pair into this object.
 void add(String name, String[] value)
          Add an array of Strings for a key.
 void clear()
          Clear all name/value pairs out of this object.
 boolean containsKey(Object key)
          Determine whether a given key has been inserted.
 String convert(String value)
          Trims the string data and applies the conversion specified in the property given by URL_CASE_FOLDING.
 String convertAndTrim(String value)
          Convert a String value according to the url-case-folding property.
 String convertAndTrim(String value, int fold)
          A convert method, which trims the string data and applies the conversion specified in the parameter given.
 void dispose()
          Disposes the parser.
 void enableLogging(org.apache.avalon.framework.logger.Logger logger)
           
 String get(String name)
          Return a String for the given name.
 BigDecimal getBigDecimal(String name)
          Return a BigDecimal for the given name.
 BigDecimal getBigDecimal(String name, BigDecimal defaultValue)
          Return a BigDecimal for the given name.
 BigDecimal[] getBigDecimals(String name)
          Return an array of BigDecimals for the given name.
 boolean getBoolean(String name)
          Return a boolean for the given name.
 boolean getBoolean(String name, boolean defaultValue)
          Return a boolean for the given name.
 Boolean getBooleanObject(String name)
          Returns a Boolean object for the given name.
 Boolean getBooleanObject(String name, Boolean defaultValue)
          Returns a Boolean object for the given name.
 Boolean[] getBooleanObjects(String name)
          Return an array of Booleans for the given name.
 boolean[] getBooleans(String name)
          Return an array of booleans for the given name.
 byte getByte(String name)
          Return a byte for the given name.
 byte getByte(String name, byte defaultValue)
          Return a byte for the given name.
 Byte getByteObject(String name)
          Return a byte for the given name.
 Byte getByteObject(String name, Byte defaultValue)
          Return a byte for the given name.
 byte[] getBytes(String name)
          Return an array of bytes for the given name.
 String getCharacterEncoding()
          Get the character encoding that will be used by this ValueParser.
 Date getDate(String name)
          Returns a Date object.
 Date getDate(String name, DateFormat df)
          Returns a Date object.
 Date getDate(String name, DateFormat df, Date defaultValue)
          Returns a Date object.
 DateFormat getDateFormat()
          Get the date format that will be used by this ValueParser.
 double getDouble(String name)
          Return a double for the given name.
 double getDouble(String name, double defaultValue)
          Return a double for the given name.
 Double getDoubleObject(String name)
          Return a Double for the given name.
 Double getDoubleObject(String name, Double defaultValue)
          Return a Double for the given name.
 Double[] getDoubleObjects(String name)
          Return an array of doubles for the given name.
 double[] getDoubles(String name)
          Return an array of doubles for the given name.
 float getFloat(String name)
          Return a float for the given name.
 float getFloat(String name, float defaultValue)
          Return a float for the given name.
 Float getFloatObject(String name)
          Return a float for the given name.
 Float getFloatObject(String name, Float defaultValue)
          Return a Float for the given name.
 Float[] getFloatObjects(String name)
          Return an array of floats for the given name.
 float[] getFloats(String name)
          Return an array of floats for the given name.
 int getInt(String name)
          Return an int for the given name.
 int getInt(String name, int defaultValue)
          Return an int for the given name.
 Integer getIntObject(String name)
          Return an Integer for the given name.
 Integer getIntObject(String name, Integer defaultValue)
          Return an Integer for the given name.
 Integer[] getIntObjects(String name)
          Return an array of Integers for the given name.
 int[] getInts(String name)
          Return an array of ints for the given name.
 Object[] getKeys()
          Returns all the available parameter names.
 Locale getLocale()
          Get the locale that will be used by this ValueParser.
protected  org.apache.avalon.framework.logger.Logger getLogger()
          Provide an Avalon logger to the derived classes
 long getLong(String name)
          Return a long for the given name.
 long getLong(String name, long defaultValue)
          Return a long for the given name.
 Long getLongObject(String name)
          Return a Long for the given name.
 Long getLongObject(String name, Long defaultValue)
          Return a Long for the given name.
 Long[] getLongObjects(String name)
          Return an array of Longs for the given name.
 long[] getLongs(String name)
          Return an array of longs for the given name.
 NumberFormat getNumberFormat()
          Get the number format that will be used by this ValueParser.
 Object getObject(String name)
          Return an Object for the given name.
 Object[] getObjects(String name)
          Return an array of Objects for the given name.
protected  String[] getParam(String name)
          fetches a key from the parameters map.
 String getString(String name)
          Return a String for the given name.
 String getString(String name, String defaultValue)
          Return a String for the given name.
 String[] getStrings(String name)
          Return an array of Strings for the given name.
 String[] getStrings(String name, String[] defaultValue)
          Return an array of Strings for the given name.
protected  Object[] getToStringParam(String name)
          This method is only used in toString() and can be used by derived classes to add their local parameters to the toString()
 int getUrlFolding()
          Gets the folding value from the ParserService configuration
 boolean isDisposed()
          Checks whether the object is disposed.
 Set keySet()
          Gets the set of keys
protected  void putParam(String name, String[] value)
          Puts a key into the parameters map.
 void recycle()
          Recycles the parser.
 void recycle(String characterEncoding)
          Recycles the parser with a character encoding.
 Object remove(String name)
          Removes the named parameter from the contained hashtable.
 void setCharacterEncoding(String s)
          Set the character encoding that will be used by this ValueParser.
 void setDateFormat(DateFormat df)
          Set the date format that will be used by this ValueParser.
 void setLocale(Locale l)
          Set the locale that will be used by this ValueParser.
 void setNumberFormat(NumberFormat nf)
          Set the number format that will be used by this ValueParser.
 void setParserService(ParserService parserService)
          Set a ParserService instance
 void setProperties(Object bean)
          Uses bean introspection to set writable properties of bean from the parameters, where a (case-insensitive) name match between the bean property and the parameter is looked for.
protected  void setProperty(Object bean, PropertyDescriptor prop)
          Set the property 'prop' in the bean to the value of the corresponding parameters.
 void setString(String name, String value)
          Set a parameter to a specific value.
 void setStrings(String name, String[] values)
          Set a parameter to a specific value.
 String toString()
          Simple method that attempts to get a textual representation of this object's name/value pairs.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

parserService

protected ParserService parserService
The ParserService instance to query for conversion and configuration


parameters

protected Hashtable parameters
Random access storage for parameter data.

Constructor Detail

BaseValueParser

public BaseValueParser()

BaseValueParser

public BaseValueParser(String characterEncoding)
Constructor that takes a character encoding


BaseValueParser

public BaseValueParser(String characterEncoding,
                       Locale locale)
Constructor that takes a character encoding and a locale

Method Detail

setParserService

public void setParserService(ParserService parserService)
Set a ParserService instance

Specified by:
setParserService in interface ParserServiceSupport

enableLogging

public void enableLogging(org.apache.avalon.framework.logger.Logger logger)
Specified by:
enableLogging in interface org.apache.avalon.framework.logger.LogEnabled
See Also:
LogEnabled.enableLogging(org.apache.avalon.framework.logger.Logger)

getLogger

protected org.apache.avalon.framework.logger.Logger getLogger()
Provide an Avalon logger to the derived classes

Returns:
An Avalon logger instance

recycle

public void recycle()
Recycles the parser.

Specified by:
recycle in interface org.apache.fulcrum.pool.Recyclable

recycle

public void recycle(String characterEncoding)
Recycles the parser with a character encoding.

Parameters:
characterEncoding - the character encoding.

dispose

public void dispose()
Disposes the parser.

Specified by:
dispose in interface org.apache.fulcrum.pool.Recyclable

clear

public void clear()
Clear all name/value pairs out of this object.

Specified by:
clear in interface ValueParser

setCharacterEncoding

public void setCharacterEncoding(String s)
Set the character encoding that will be used by this ValueParser.

Specified by:
setCharacterEncoding in interface ValueParser

getCharacterEncoding

public String getCharacterEncoding()
Get the character encoding that will be used by this ValueParser.

Specified by:
getCharacterEncoding in interface ValueParser

setLocale

public void setLocale(Locale l)
Set the locale that will be used by this ValueParser.

Specified by:
setLocale in interface ValueParser

getLocale

public Locale getLocale()
Get the locale that will be used by this ValueParser.

Specified by:
getLocale in interface ValueParser

setDateFormat

public void setDateFormat(DateFormat df)
Set the date format that will be used by this ValueParser.

Specified by:
setDateFormat in interface ValueParser

getDateFormat

public DateFormat getDateFormat()
Get the date format that will be used by this ValueParser.

Specified by:
getDateFormat in interface ValueParser

setNumberFormat

public void setNumberFormat(NumberFormat nf)
Set the number format that will be used by this ValueParser.

Specified by:
setNumberFormat in interface ValueParser

getNumberFormat

public NumberFormat getNumberFormat()
Get the number format that will be used by this ValueParser.

Specified by:
getNumberFormat in interface ValueParser

add

public void add(String name,
                double value)
Add a name/value pair into this object.

Specified by:
add in interface ValueParser
Parameters:
name - A String with the name.
value - A double with the value.

add

public void add(String name,
                int value)
Add a name/value pair into this object.

Specified by:
add in interface ValueParser
Parameters:
name - A String with the name.
value - An int with the value.

add

public void add(String name,
                Integer value)
Add a name/value pair into this object.

Specified by:
add in interface ValueParser
Parameters:
name - A String with the name.
value - An Integer with the value.

add

public void add(String name,
                long value)
Add a name/value pair into this object.

Specified by:
add in interface ValueParser
Parameters:
name - A String with the name.
value - A long with the value.

add

public void add(String name,
                String value)
Add a name/value pair into this object.

Specified by:
add in interface ValueParser
Parameters:
name - A String with the name.
value - A long with the value.

add

public void add(String name,
                String[] value)
Add an array of Strings for a key. This is simply adding all the elements in the array one by one.

Specified by:
add in interface ValueParser
Parameters:
name - A String with the name.
value - A String Array.

remove

public Object remove(String name)
Removes the named parameter from the contained hashtable. Wraps to the contained Map.remove().

Specified by:
remove in interface ValueParser
Returns:
The value that was mapped to the key (a String[]) or null if the key was not mapped.

convert

public String convert(String value)
Trims the string data and applies the conversion specified in the property given by URL_CASE_FOLDING. It returns a new string so that it does not destroy the value data.

Specified by:
convert in interface ValueParser
Parameters:
value - A String to be processed.
Returns:
A new String converted to lowercase and trimmed.

containsKey

public boolean containsKey(Object key)
Determine whether a given key has been inserted. All keys are stored in lowercase strings, so override method to account for this.

Specified by:
containsKey in interface ValueParser
Parameters:
key - An Object with the key to search for.
Returns:
True if the object is found.

keySet

public Set keySet()
Gets the set of keys

Specified by:
keySet in interface ValueParser
Returns:
A Set of the keys.

getKeys

public Object[] getKeys()
Returns all the available parameter names.

Specified by:
getKeys in interface ValueParser
Returns:
A object array with the keys.

getBoolean

public boolean getBoolean(String name,
                          boolean defaultValue)
Return a boolean for the given name. If the name does not exist, return defaultValue.

Specified by:
getBoolean in interface ValueParser
Parameters:
name - A String with the name.
defaultValue - The default value.
Returns:
A boolean.

getBoolean

public boolean getBoolean(String name)
Return a boolean for the given name. If the name does not exist, return false.

Specified by:
getBoolean in interface ValueParser
Parameters:
name - A String with the name.
Returns:
A boolean.

getBooleans

public boolean[] getBooleans(String name)
Return an array of booleans for the given name. If the name does not exist, return null.

Specified by:
getBooleans in interface ValueParser
Parameters:
name - A String with the name.
Returns:
A boolean[].

getBooleanObject

public Boolean getBooleanObject(String name)
Returns a Boolean object for the given name. If the parameter does not exist or can not be parsed as a boolean, null is returned.

Valid values for true: true, on, 1, yes
Valid values for false: false, off, 0, no

The string is compared without reguard to case.

Specified by:
getBooleanObject in interface ValueParser
Parameters:
name - A String with the name.
Returns:
A Boolean.

getBooleanObject

public Boolean getBooleanObject(String name,
                                Boolean defaultValue)
Returns a Boolean object for the given name. If the parameter does not exist or can not be parsed as a boolean, null is returned.

Valid values for true: true, on, 1, yes
Valid values for false: false, off, 0, no

The string is compared without reguard to case.

Specified by:
getBooleanObject in interface ValueParser
Parameters:
name - A String with the name.
defaultValue - The default value.
Returns:
A Boolean.

getBooleanObjects

public Boolean[] getBooleanObjects(String name)
Return an array of Booleans for the given name. If the name does not exist, return null.

Specified by:
getBooleanObjects in interface ValueParser
Parameters:
name - A String with the name.
Returns:
A Boolean[].

getDouble

public double getDouble(String name,
                        double defaultValue)
Return a double for the given name. If the name does not exist, return defaultValue.

Specified by:
getDouble in interface ValueParser
Parameters:
name - A String with the name.
defaultValue - The default value.
Returns:
A double.

getDouble

public double getDouble(String name)
Return a double for the given name. If the name does not exist, return 0.0.

Specified by:
getDouble in interface ValueParser
Parameters:
name - A String with the name.
Returns:
A double.

getDoubles

public double[] getDoubles(String name)
Return an array of doubles for the given name. If the name does not exist, return null.

Specified by:
getDoubles in interface ValueParser
Parameters:
name - A String with the name.
Returns:
A double[].

getDoubleObject

public Double getDoubleObject(String name,
                              Double defaultValue)
Return a Double for the given name. If the name does not exist, return defaultValue.

Specified by:
getDoubleObject in interface ValueParser
Parameters:
name - A String with the name.
defaultValue - The default value.
Returns:
A double.

getDoubleObject

public Double getDoubleObject(String name)
Return a Double for the given name. If the name does not exist, return null.

Specified by:
getDoubleObject in interface ValueParser
Parameters:
name - A String with the name.
Returns:
A double.

getDoubleObjects

public Double[] getDoubleObjects(String name)
Return an array of doubles for the given name. If the name does not exist, return null.

Specified by:
getDoubleObjects in interface ValueParser
Parameters:
name - A String with the name.
Returns:
A double[].

getFloat

public float getFloat(String name,
                      float defaultValue)
Return a float for the given name. If the name does not exist, return defaultValue.

Specified by:
getFloat in interface ValueParser
Parameters:
name - A String with the name.
defaultValue - The default value.
Returns:
A float.

getFloat

public float getFloat(String name)
Return a float for the given name. If the name does not exist, return 0.0.

Specified by:
getFloat in interface ValueParser
Parameters:
name - A String with the name.
Returns:
A float.

getFloats

public float[] getFloats(String name)
Return an array of floats for the given name. If the name does not exist, return null.

Specified by:
getFloats in interface ValueParser
Parameters:
name - A String with the name.
Returns:
A float[].

getFloatObject

public Float getFloatObject(String name,
                            Float defaultValue)
Return a Float for the given name. If the name does not exist, return defaultValue.

Specified by:
getFloatObject in interface ValueParser
Parameters:
name - A String with the name.
defaultValue - The default value.
Returns:
A Float.

getFloatObject

public Float getFloatObject(String name)
Return a float for the given name. If the name does not exist, return null.

Specified by:
getFloatObject in interface ValueParser
Parameters:
name - A String with the name.
Returns:
A Float.

getFloatObjects

public Float[] getFloatObjects(String name)
Return an array of floats for the given name. If the name does not exist, return null.

Specified by:
getFloatObjects in interface ValueParser
Parameters:
name - A String with the name.
Returns:
A float[].

getBigDecimal

public BigDecimal getBigDecimal(String name,
                                BigDecimal defaultValue)
Return a BigDecimal for the given name. If the name does not exist, return defaultValue.

Specified by:
getBigDecimal in interface ValueParser
Parameters:
name - A String with the name.
defaultValue - The default value.
Returns:
A BigDecimal.

getBigDecimal

public BigDecimal getBigDecimal(String name)
Return a BigDecimal for the given name. If the name does not exist, return null.

Specified by:
getBigDecimal in interface ValueParser
Parameters:
name - A String with the name.
Returns:
A BigDecimal.

getBigDecimals

public BigDecimal[] getBigDecimals(String name)
Return an array of BigDecimals for the given name. If the name does not exist, return null.

Specified by:
getBigDecimals in interface ValueParser
Parameters:
name - A String with the name.
Returns:
A BigDecimal[].

getInt

public int getInt(String name,
                  int defaultValue)
Return an int for the given name. If the name does not exist, return defaultValue.

Specified by:
getInt in interface ValueParser
Parameters:
name - A String with the name.
defaultValue - The default value.
Returns:
An int.

getInt

public int getInt(String name)
Return an int for the given name. If the name does not exist, return 0.

Specified by:
getInt in interface ValueParser
Parameters:
name - A String with the name.
Returns:
An int.

getInts

public int[] getInts(String name)
Return an array of ints for the given name. If the name does not exist, return null.

Specified by:
getInts in interface ValueParser
Parameters:
name - A String with the name.
Returns:
An int[].

getIntObject

public Integer getIntObject(String name,
                            Integer defaultValue)
Return an Integer for the given name. If the name does not exist, return defaultValue.

Specified by:
getIntObject in interface ValueParser
Parameters:
name - A String with the name.
defaultValue - The default value.
Returns:
An Integer.

getIntObject

public Integer getIntObject(String name)
Return an Integer for the given name. If the name does not exist, return null.

Specified by:
getIntObject in interface ValueParser
Parameters:
name - A String with the name.
Returns:
An Integer.

getIntObjects

public Integer[] getIntObjects(String name)
Return an array of Integers for the given name. If the name does not exist, return null.

Specified by:
getIntObjects in interface ValueParser
Parameters:
name - A String with the name.
Returns:
An Integer[].

getLong

public long getLong(String name,
                    long defaultValue)
Return a long for the given name. If the name does not exist, return defaultValue.

Specified by:
getLong in interface ValueParser
Parameters:
name - A String with the name.
defaultValue - The default value.
Returns:
A long.

getLong

public long getLong(String name)
Return a long for the given name. If the name does not exist, return 0.

Specified by:
getLong in interface ValueParser
Parameters:
name - A String with the name.
Returns:
A long.

getLongs

public long[] getLongs(String name)
Return an array of longs for the given name. If the name does not exist, return null.

Specified by:
getLongs in interface ValueParser
Parameters:
name - A String with the name.
Returns:
A long[].

getLongObjects

public Long[] getLongObjects(String name)
Return an array of Longs for the given name. If the name does not exist, return null.

Specified by:
getLongObjects in interface ValueParser
Parameters:
name - A String with the name.
Returns:
A Long[].

getLongObject

public Long getLongObject(String name)
Return a Long for the given name. If the name does not exist, return null.

Specified by:
getLongObject in interface ValueParser
Parameters:
name - A String with the name.
Returns:
A Long.

getLongObject

public Long getLongObject(String name,
                          Long defaultValue)
Return a Long for the given name. If the name does not exist, return the default value.

Specified by:
getLongObject in interface ValueParser
Parameters:
name - A String with the name.
defaultValue - The default value.
Returns:
A Long.

getByte

public byte getByte(String name,
                    byte defaultValue)
Return a byte for the given name. If the name does not exist, return defaultValue.

Specified by:
getByte in interface ValueParser
Parameters:
name - A String with the name.
defaultValue - The default value.
Returns:
A byte.

getByte

public byte getByte(String name)
Return a byte for the given name. If the name does not exist, return 0.

Specified by:
getByte in interface ValueParser
Parameters:
name - A String with the name.
Returns:
A byte.

getBytes

public byte[] getBytes(String name)
                throws UnsupportedEncodingException
Return an array of bytes for the given name. If the name does not exist, return null. The array is returned according to the HttpRequest's character encoding.

Specified by:
getBytes in interface ValueParser
Parameters:
name - A String with the name.
Returns:
A byte[].
Throws:
UnsupportedEncodingException

getByteObject

public Byte getByteObject(String name,
                          Byte defaultValue)
Return a byte for the given name. If the name does not exist, return defaultValue.

Specified by:
getByteObject in interface ValueParser
Parameters:
name - A String with the name.
defaultValue - The default value.
Returns:
A byte.

getByteObject

public Byte getByteObject(String name)
Return a byte for the given name. If the name does not exist, return 0.

Specified by:
getByteObject in interface ValueParser
Parameters:
name - A String with the name.
Returns:
A byte.

getString

public String getString(String name)
Return a String for the given name. If the name does not exist, return null.

Specified by:
getString in interface ValueParser
Parameters:
name - A String with the name.
Returns:
A String or null if the key is unknown.

get

public String get(String name)
Return a String for the given name. If the name does not exist, return null. It is the same as the getString() method however has been added for simplicity when working with template tools such as Velocity which allow you to do something like this: $data.Parameters.form_variable_name

Specified by:
get in interface ValueParser
Parameters:
name - A String with the name.
Returns:
A String.

getString

public String getString(String name,
                        String defaultValue)
Return a String for the given name. If the name does not exist, return the defaultValue.

Specified by:
getString in interface ValueParser
Parameters:
name - A String with the name.
defaultValue - The default value.
Returns:
A String.

setString

public void setString(String name,
                      String value)
Set a parameter to a specific value. This is useful if you want your action to override the values of the parameters for the screen to use.

Specified by:
setString in interface ValueParser
Parameters:
name - The name of the parameter.
value - The value to set.

getStrings

public String[] getStrings(String name)
Return an array of Strings for the given name. If the name does not exist, return null.

Specified by:
getStrings in interface ValueParser
Parameters:
name - A String with the name.
Returns:
A String[].

getStrings

public String[] getStrings(String name,
                           String[] defaultValue)
Return an array of Strings for the given name. If the name does not exist, return the defaultValue.

Specified by:
getStrings in interface ValueParser
Parameters:
name - A String with the name.
defaultValue - The default value.
Returns:
A String[].

setStrings

public void setStrings(String name,
                       String[] values)
Set a parameter to a specific value. This is useful if you want your action to override the values of the parameters for the screen to use.

Specified by:
setStrings in interface ValueParser
Parameters:
name - The name of the parameter.
values - The value to set.

getObject

public Object getObject(String name)
Return an Object for the given name. If the name does not exist, return null.

Specified by:
getObject in interface ValueParser
Parameters:
name - A String with the name.
Returns:
An Object.

getObjects

public Object[] getObjects(String name)
Return an array of Objects for the given name. If the name does not exist, return null.

Specified by:
getObjects in interface ValueParser
Parameters:
name - A String with the name.
Returns:
An Object[].

getDate

public Date getDate(String name,
                    DateFormat df,
                    Date defaultValue)
Returns a Date object. String is parsed by supplied DateFormat. If the name does not exist or the value could not be parsed into a date return the defaultValue.

Specified by:
getDate in interface ValueParser
Parameters:
name - A String with the name.
df - A DateFormat.
defaultValue - The default value.
Returns:
A Date.

getDate

public Date getDate(String name)
Returns a Date object. If there are DateSelector or TimeSelector style parameters then these are used. If not and there is a parameter 'name' then this is parsed by DateFormat. If the name does not exist, return null.

Specified by:
getDate in interface ValueParser
Parameters:
name - A String with the name.
Returns:
A Date.

getDate

public Date getDate(String name,
                    DateFormat df)
Returns a Date object. String is parsed by supplied DateFormat. If the name does not exist, return null.

Specified by:
getDate in interface ValueParser
Parameters:
name - A String with the name.
df - A DateFormat.
Returns:
A Date.

setProperties

public void setProperties(Object bean)
                   throws Exception
Uses bean introspection to set writable properties of bean from the parameters, where a (case-insensitive) name match between the bean property and the parameter is looked for.

Specified by:
setProperties in interface ValueParser
Parameters:
bean - An Object.
Throws:
Exception - a generic exception.

toString

public String toString()
Simple method that attempts to get a textual representation of this object's name/value pairs. String[] handling is currently a bit rough.

Specified by:
toString in interface ValueParser
Overrides:
toString in class Object
Returns:
A textual representation of the parsed name/value pairs.

getToStringParam

protected Object[] getToStringParam(String name)
This method is only used in toString() and can be used by derived classes to add their local parameters to the toString()

Parameters:
name - A string with the name
Returns:
the value object array or null if not set

setProperty

protected void setProperty(Object bean,
                           PropertyDescriptor prop)
                    throws Exception
Set the property 'prop' in the bean to the value of the corresponding parameters. Supports all types supported by getXXX methods plus a few more that come for free because primitives have to be wrapped before being passed to invoke anyway.

Parameters:
bean - An Object.
prop - A PropertyDescriptor.
Throws:
Exception - a generic exception.

putParam

protected void putParam(String name,
                        String[] value)
Puts a key into the parameters map. Makes sure that the name is always mapped correctly. This method also enforces the usage of arrays for the parameters.

Parameters:
name - A String with the name.
value - An array of Objects with the values.

getParam

protected String[] getParam(String name)
fetches a key from the parameters map. Makes sure that the name is always mapped correctly.

Parameters:
name - A string with the name
Returns:
the value object array or null if not set

isDisposed

public boolean isDisposed()
Checks whether the object is disposed.

Specified by:
isDisposed in interface org.apache.fulcrum.pool.Recyclable
Returns:
true, if the object is disposed.

convertAndTrim

public String convertAndTrim(String value)
Convert a String value according to the url-case-folding property.

Specified by:
convertAndTrim in interface ValueParser
Parameters:
value - the String to convert
Returns:
a new String.

convertAndTrim

public String convertAndTrim(String value,
                             int fold)
A convert method, which trims the string data and applies the conversion specified in the parameter given. It returns a new string so that it does not destroy the value data.

Specified by:
convertAndTrim in interface ValueParser
Parameters:
value - A String to be processed.
fold - The parameter folding to be applied (see ParserService)
Returns:
A new String converted to the correct case and trimmed.

getUrlFolding

public int getUrlFolding()
Gets the folding value from the ParserService configuration

Specified by:
getUrlFolding in interface ValueParser
Returns:
The current Folding Value


Copyright © 2005-2009 The Apache Software Foundation. All Rights Reserved.