Interface ValueParser

All Superinterfaces:
Iterable<String>
All Known Subinterfaces:
CookieParser, ParameterParser
All Known Implementing Classes:
BaseValueParser, DefaultCookieParser, DefaultParameterParser, StringValueParser

public interface ValueParser extends Iterable<String>
ValueParser is a base interface for classes that need to parse name/value Parameters, for example GET/POST data or Cookies (ParameterParser and CookieParser)

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:

Version:
$Id$
Author:
Ilkka Priha, Jon S. Stevens, Sean Legassick, Jason van Zyl, Jürgen Hoffmann, Thomas Vandahl
  • Field Details

    • DEFAULT_CHARACTER_ENCODING

      static final String DEFAULT_CHARACTER_ENCODING
      The default character encoding to use when converting to byte arrays
      See Also:
  • Method Details

    • clear

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

      void dispose()
      Dispose all references of this object. Instead of org.apache.fulcrum.pool.Recyclable interface we use this, may change this again..
    • setCharacterEncoding

      void setCharacterEncoding(String characterEncoding)
      Set the character encoding that will be used by this ValueParser.
      Parameters:
      characterEncoding - the character encoding to use
    • getCharacterEncoding

      String getCharacterEncoding()
      Get the character encoding that will be used by this ValueParser.
      Returns:
      Current character encoding
    • setLocale

      void setLocale(Locale locale)
      Set the locale that will be used by this ValueParser.
      Parameters:
      locale - the default locale to be used by the parser
    • getLocale

      Locale getLocale()
      Get the locale that will be used by this ValueParser.
      Returns:
      Locale the locale being used
    • setDateFormat

      void setDateFormat(DateFormat dateFormat)
      Set the date format that will be used by this ValueParser.
      Parameters:
      dateFormat - the date format
    • getDateFormat

      DateFormat getDateFormat()
      Get the date format that will be used by this ValueParser.
      Returns:
      DateFormat current date format used by this ValueParser
    • setNumberFormat

      void setNumberFormat(NumberFormat numberFormat)
      Set the number format that will be used by this ValueParser.
      Parameters:
      numberFormat - the number format to use
    • getNumberFormat

      NumberFormat getNumberFormat()
      Get the number format that will be used by this ValueParser.
      Returns:
      NumberFormat the current number format
    • convert

      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.
      Parameters:
      value - A String to be processed.
      Returns:
      A new String converted to lowercase and trimmed.
    • add

      void add(String name, double value)
      Add a name/value pair into this object.
      Parameters:
      name - A String with the name.
      value - A double with the value.
    • add

      void add(String name, int value)
      Add a name/value pair into this object.
      Parameters:
      name - A String with the name.
      value - An int with the value.
    • add

      void add(String name, Integer value)
      Add a name/value pair into this object.
      Parameters:
      name - A String with the name.
      value - An Integer with the value.
    • add

      void add(String name, long value)
      Add a name/value pair into this object.
      Parameters:
      name - A String with the name.
      value - A long with the value.
    • add

      void add(String name, String value)
      Add a name/value pair into this object.
      Parameters:
      name - A String with the name.
      value - A long with the value.
    • add

      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.
      Parameters:
      name - A String with the name.
      value - A String Array.
    • remove

      Object remove(String name)
      Removes the named parameter from the contained hashtable. Wraps to the contained Hashtable.remove().
      Parameters:
      name - the name of the mapped value to remove
      Returns:
      The value that was mapped to the key (a String[]) or null if the key was not mapped.
    • containsKey

      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.
      Parameters:
      key - An Object with the key to search for.
      Returns:
      True if the object is found.
    • keySet

      Set<String> keySet()
      Gets the keys.
      Returns:
      A Set of the keys.
    • getKeys

      String[] getKeys()
      Returns all the available parameter names.
      Returns:
      A object array with the keys.
    • getBoolean

      boolean getBoolean(String name, boolean defaultValue)
      Return a boolean for the given name. If the name does not exist, return defaultValue.
      Parameters:
      name - A String with the name.
      defaultValue - The default value.
      Returns:
      A boolean.
    • getBoolean

      boolean getBoolean(String name)
      Return a boolean for the given name. If the name does not exist, return false.
      Parameters:
      name - A String with the name.
      Returns:
      A boolean.
    • getBooleanObject

      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.

      Parameters:
      name - A String with the name.
      Returns:
      A Boolean.
    • getBooleanObject

      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, the defaultValue is returned.

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

      The string is compared without regard to case.

      Parameters:
      name - A String with the name.
      defaultValue - boolean default if not found
      Returns:
      A Boolean.
    • getBooleans

      boolean[] getBooleans(String name)
      Return an array of booleans for the given name. If the name does not exist, return null.
      Parameters:
      name - A String with the name.
      Returns:
      A boolean[].
    • getBooleanObjects

      Boolean[] getBooleanObjects(String name)
      Return an array of Booleans for the given name. If the name does not exist, return null.
      Parameters:
      name - A String with the name.
      Returns:
      A Boolean[].
    • getDouble

      double getDouble(String name, double defaultValue)
      Return a double for the given name. If the name does not exist, return defaultValue.
      Parameters:
      name - A String with the name.
      defaultValue - The default value.
      Returns:
      A double.
    • getDouble

      double getDouble(String name)
      Return a double for the given name. If the name does not exist, return 0.0.
      Parameters:
      name - A String with the name.
      Returns:
      A double.
    • getDoubles

      double[] getDoubles(String name)
      Return an array of doubles for the given name. If the name does not exist, return null.
      Parameters:
      name - A String with the name.
      Returns:
      A double[].
    • getDoubleObject

      Double getDoubleObject(String name, Double defaultValue)
      Return a Double for the given name. If the name does not exist, return defaultValue.
      Parameters:
      name - A String with the name.
      defaultValue - The default value.
      Returns:
      A double.
    • getDoubleObject

      Double getDoubleObject(String name)
      Return a Double for the given name. If the name does not exist, return null.
      Parameters:
      name - A String with the name.
      Returns:
      A double.
    • getDoubleObjects

      Double[] getDoubleObjects(String name)
      Return an array of doubles for the given name. If the name does not exist, return null.
      Parameters:
      name - A String with the name.
      Returns:
      A double[].
    • getFloat

      float getFloat(String name, float defaultValue)
      Return a float for the given name. If the name does not exist, return defaultValue.
      Parameters:
      name - A String with the name.
      defaultValue - The default value.
      Returns:
      A float.
    • getFloat

      float getFloat(String name)
      Return a float for the given name. If the name does not exist, return 0.0.
      Parameters:
      name - A String with the name.
      Returns:
      A float.
    • getFloats

      float[] getFloats(String name)
      Return an array of floats for the given name. If the name does not exist, return null.
      Parameters:
      name - A String with the name.
      Returns:
      A float[].
    • getFloatObject

      Float getFloatObject(String name, Float defaultValue)
      Return a Float for the given name. If the name does not exist, return defaultValue.
      Parameters:
      name - A String with the name.
      defaultValue - The default value.
      Returns:
      A Float.
    • getFloatObject

      Float getFloatObject(String name)
      Return a float for the given name. If the name does not exist, return null.
      Parameters:
      name - A String with the name.
      Returns:
      A Float.
    • getFloatObjects

      Float[] getFloatObjects(String name)
      Return an array of floats for the given name. If the name does not exist, return null.
      Parameters:
      name - A String with the name.
      Returns:
      A float[].
    • getBigDecimal

      BigDecimal getBigDecimal(String name, BigDecimal defaultValue)
      Return a BigDecimal for the given name. If the name does not exist, return 0.0.
      Parameters:
      name - A String with the name.
      defaultValue - The default value.
      Returns:
      A BigDecimal.
    • getBigDecimal

      BigDecimal getBigDecimal(String name)
      Return a BigDecimal for the given name. If the name does not exist, return null.
      Parameters:
      name - A String with the name.
      Returns:
      A BigDecimal.
    • getBigDecimals

      BigDecimal[] getBigDecimals(String name)
      Return an array of BigDecimals for the given name. If the name does not exist, return null.
      Parameters:
      name - A String with the name.
      Returns:
      A BigDecimal[].
    • getInt

      int getInt(String name, int defaultValue)
      Return an int for the given name. If the name does not exist, return defaultValue.
      Parameters:
      name - A String with the name.
      defaultValue - The default value.
      Returns:
      An int.
    • getInt

      int getInt(String name)
      Return an int for the given name. If the name does not exist, return 0.
      Parameters:
      name - A String with the name.
      Returns:
      An int.
    • getIntObject

      Integer getIntObject(String name, Integer defaultValue)
      Return an Integer for the given name. If the name does not exist, return defaultValue.
      Parameters:
      name - A String with the name.
      defaultValue - The default value.
      Returns:
      An Integer.
    • getIntObject

      Integer getIntObject(String name)
      Return an Integer for the given name. If the name does not exist, return null.
      Parameters:
      name - A String with the name.
      Returns:
      An Integer.
    • getInts

      int[] getInts(String name)
      Return an array of ints for the given name. If the name does not exist, return null.
      Parameters:
      name - A String with the name.
      Returns:
      An int[].
    • getIntObjects

      Integer[] getIntObjects(String name)
      Return an array of Integers for the given name. If the name does not exist, return null.
      Parameters:
      name - A String with the name.
      Returns:
      An Integer[].
    • getLong

      long getLong(String name, long defaultValue)
      Return a long for the given name. If the name does not exist, return defaultValue.
      Parameters:
      name - A String with the name.
      defaultValue - The default value.
      Returns:
      A long.
    • getLong

      long getLong(String name)
      Return a long for the given name. If the name does not exist, return 0.
      Parameters:
      name - A String with the name.
      Returns:
      A long.
    • getLongObject

      Long getLongObject(String name, Long defaultValue)
      Return a Long for the given name. If the name does not exist, return defaultValue.
      Parameters:
      name - A String with the name.
      defaultValue - The default value.
      Returns:
      A Long.
    • getLongObject

      Long getLongObject(String name)
      Return a Long for the given name. If the name does not exist, return null.
      Parameters:
      name - A String with the name.
      Returns:
      A Long.
    • getLongs

      long[] getLongs(String name)
      Return an array of longs for the given name. If the name does not exist, return null.
      Parameters:
      name - A String with the name.
      Returns:
      A long[].
    • getLongObjects

      Long[] getLongObjects(String name)
      Return an array of Longs for the given name. If the name does not exist, return null.
      Parameters:
      name - A String with the name.
      Returns:
      A Long[].
    • getByte

      byte getByte(String name, byte defaultValue)
      Return a byte for the given name. If the name does not exist, return defaultValue.
      Parameters:
      name - A String with the name.
      defaultValue - The default value.
      Returns:
      A byte.
    • getByte

      byte getByte(String name)
      Return a byte for the given name. If the name does not exist, return 0.
      Parameters:
      name - A String with the name.
      Returns:
      A byte.
    • getBytes

      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.
      Parameters:
      name - A String with the name.
      Returns:
      A byte[].
      Throws:
      UnsupportedEncodingException - Generic exception
    • getByteObject

      Byte getByteObject(String name, Byte defaultValue)
      Return a byte for the given name. If the name does not exist, return defaultValue.
      Parameters:
      name - A String with the name.
      defaultValue - The default value.
      Returns:
      A byte.
    • getByteObject

      Byte getByteObject(String name)
      Return a byte for the given name. If the name does not exist, return 0.
      Parameters:
      name - A String with the name.
      Returns:
      A byte.
    • getString

      String getString(String name)
      Return a String for the given name. If the name does not exist, return null.
      Parameters:
      name - A String with the name.
      Returns:
      A String.
    • get

      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
      Parameters:
      name - A String with the name.
      Returns:
      A String.
    • getString

      String getString(String name, String defaultValue)
      Return a String for the given name. If the name does not exist, return the defaultValue.
      Parameters:
      name - A String with the name.
      defaultValue - The default value.
      Returns:
      A String.
    • setString

      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.
      Parameters:
      name - The name of the parameter.
      value - The value to set.
    • getStrings

      String[] getStrings(String name)
      Return an array of Strings for the given name. If the name does not exist, return null.
      Parameters:
      name - A String with the name.
      Returns:
      A String[].
    • getStrings

      String[] getStrings(String name, String[] defaultValue)
      Return an array of Strings for the given name. If the name does not exist, return the defaultValue.
      Parameters:
      name - A String with the name.
      defaultValue - The default value.
      Returns:
      A String[].
    • setStrings

      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.
      Parameters:
      name - The name of the parameter.
      values - The value to set.
    • getObject

      Object getObject(String name)
      Return an Object for the given name. If the name does not exist, return null.
      Parameters:
      name - A String with the name.
      Returns:
      An Object.
    • getObjects

      Object[] getObjects(String name)
      Return an array of Objects for the given name. If the name does not exist, return null.
      Parameters:
      name - A String with the name.
      Returns:
      An Object[].
    • getDate

      Date getDate(String name, DateFormat df, Date defaultValue)
      Returns a java.util.Date object. String is parsed by supplied DateFormat. If the name does not exist, return the defaultValue.
      Parameters:
      name - A String with the name.
      df - A DateFormat.
      defaultValue - The default value.
      Returns:
      A Date.
    • getDate

      Date getDate(String name)
      Returns a java.util.Date object. If there are DateSelector 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.
      Parameters:
      name - A String with the name.
      Returns:
      A Date.
    • getDate

      Date getDate(String name, DateFormat df)
      Returns a java.util.Date object. String is parsed by supplied DateFormat. If the name does not exist, return null.
      Parameters:
      name - A String with the name.
      df - A DateFormat.
      Returns:
      A Date.
    • setProperties

      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.
      Parameters:
      bean - An Object.
      Throws:
      Exception - a generic exception.
    • toString

      String toString()
      Simple method that attempts to get a toString() representation of this object. It doesn't do well with String[]'s though.
      Overrides:
      toString in class Object
      Returns:
      A String.
    • convertAndTrim

      String convertAndTrim(String value)
      Convert a String value according to the url-case-folding property.
      Parameters:
      value - the String to convert
      Returns:
      a new String.
    • convertAndTrim

      String convertAndTrim(String value, ValueParser.URLCaseFolding folding)
      A static version of the convert method, which 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.
      Parameters:
      value - A String to be processed.
      folding - the type of URL case folding to be used
      Returns:
      A new String converted and trimmed.
    • getUrlFolding

      Gets the folding value from the ParserService configuration
      Returns:
      The current Folding Value