Class ConversionTool

Direct Known Subclasses:
ValueParser

@DefaultKey("convert") @SkipSetters public class ConversionTool extends LocaleConfig

Utility class for easy conversion of String values to richer types.

 Template example(s):
   $convert.toNumber('12.6')   ->  12.6
   $convert.toInt('12.6')      ->  12
   $convert.toNumbers('12.6,42')  ->  [12.6, 42]

 Toolbox configuration:
 <tools>
   <toolbox scope="application">
     <tool class="org.apache.velocity.tools.generic.ConversionTool"
              dateFormat="yyyy-MM-dd"/>
   </toolbox>
 </tools>
 

This comes in very handy when parsing anything.

Since:
VelocityTools 2.0
Version:
$Revision: 932578 $ $Date: 2007-02-26 11:24:39 -0800 (Mon, 26 Feb 2007) $
Author:
Nathan Bubna
  • Field Details

  • Constructor Details

    • ConversionTool

      public ConversionTool()
  • Method Details

    • configure

      protected void configure(ValueParser values)
      Does the actual configuration. This is protected, so subclasses may share the same ValueParser and call configure at any time, while preventing templates from doing so when configure(Map) is locked.
      Overrides:
      configure in class LocaleConfig
    • setStringsDelimiter

      protected final void setStringsDelimiter(String stringsDelimiter)
      Sets the delimiter used for separating values in a single String value. The default string delimiter is a comma.
      See Also:
    • getStringsDelimiter

      public final String getStringsDelimiter()
    • setStringsTrim

      protected final void setStringsTrim(boolean stringsTrim)
      Sets whether strings should be trimmed when separated from a delimited string value. The default is true.
      See Also:
    • getStringsTrim

      public final boolean getStringsTrim()
    • setNumberFormat

      protected final void setNumberFormat(String format)
    • getNumberFormat

      public final String getNumberFormat()
    • setDateFormat

      protected final void setDateFormat(String format)
    • getDateFormat

      public final String getDateFormat()
    • toString

      public String toString(Object value)
      Converts objects to String in a more Tools-ish way than String.valueOf(Object), especially with nulls, Arrays and Collections. Null returns null, Arrays and Collections return the toString(Object) of their first value, or null if they have no values.
      Parameters:
      value - the object to be turned into a String
      Returns:
      the string value of the object or null if the value is null or it is an array or collection whose first value is null
    • toBoolean

      public Boolean toBoolean(Object value)
      Parameters:
      value - the object to be converted
      Returns:
      a Boolean object for the specified value or null if the value is null or the conversion failed
    • toInteger

      public Integer toInteger(Object value)
      Parameters:
      value - the object to be converted
      Returns:
      a Integer for the specified value or null if the value is null or the conversion failed
    • toDouble

      public Double toDouble(Object value)
      Parameters:
      value - the object to be converted
      Returns:
      a Double for the specified value or null if the value is null or the conversion failed
    • toNumber

      public Number toNumber(Object value)
      Parameters:
      value - the object to be converted
      Returns:
      a Number for the specified value or null if the value is null or the conversion failed
    • toLocale

      public Locale toLocale(Object value)
      Parameters:
      value - the object to be converted
      Returns:
      a Locale for the specified value or null if the value is null or the conversion failed
    • toDate

      public Date toDate(Object value)
      Converts an object to an instance of Date, when necessary using the configured date parsing format, the configured default Locale, and the system's default TimeZone to parse the string value of the specified object.
      Parameters:
      value - the date to convert
      Returns:
      the object as a Date or null if no conversion is possible
    • toCalendar

      public Calendar toCalendar(Object value)
    • toStrings

      public String[] toStrings(Object value)
      Parameters:
      value - the value to be converted
      Returns:
      an array of String objects containing all of the values derived from the specified array, Collection, or delimited String
    • toBooleans

      public Boolean[] toBooleans(Object value)
      Parameters:
      value - the value to be converted
      Returns:
      an array of Boolean objects derived from the specified value, or null.
    • toBooleans

      public Boolean[] toBooleans(Collection values)
      Parameters:
      values - the collection of values to be converted
      Returns:
      an array of Boolean objects derived from the specified values, or null.
    • toNumbers

      public Number[] toNumbers(Object value)
      Parameters:
      value - the value to be converted
      Returns:
      an array of Number objects derived from the specified value, or null.
    • toNumbers

      public Number[] toNumbers(Collection values)
      Parameters:
      values - the collection of values to be converted
      Returns:
      an array of Number objects derived from the specified values, or null.
    • toInts

      public int[] toInts(Object value)
      Parameters:
      value - the value to be converted
      Returns:
      an array of int values derived from the specified value, or null.
    • toIntegers

      public int[] toIntegers(Object value)
      Parameters:
      value - the value to be converted
      Returns:
      an array of int values derived from the specified value, or null.
    • toDoubles

      public double[] toDoubles(Object value)
      Parameters:
      value - the value to be converted
      Returns:
      an array of double values derived from the specified value, or null.
    • toLocales

      public Locale[] toLocales(Object value)
      Parameters:
      value - the value to be converted
      Returns:
      an array of Locale objects derived from the specified value, or null.
    • toLocales

      public Locale[] toLocales(Collection values)
      Parameters:
      values - the collection of values to be converted
      Returns:
      an array of Locale objects derived from the specified values, or null.
    • toDates

      public Date[] toDates(Object value)
      Parameters:
      value - the value to be converted
      Returns:
      an array of Date objects derived from the specified value, or null.
    • toDates

      public Date[] toDates(Collection values)
      Parameters:
      values - the collection of values to be converted
      Returns:
      an array of Date objects derived from the specified values, or null.
    • toCalendars

      public Calendar[] toCalendars(Object value)
      Parameters:
      value - the value to be converted
      Returns:
      an array of Calendar objects derived from the specified value, or null.
    • toCalendars

      public Calendar[] toCalendars(Collection values)
      Parameters:
      values - the collection of values to be converted
      Returns:
      an array of Calendar objects derived from the specified values, or null.
    • parseBoolean

      protected Boolean parseBoolean(String value)
      Converts a parameter value into a Boolean Sub-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 String[] parseStringList(String value)
      Converts a single String value into an array of Strings by splitting it on the tool's set stringsDelimiter. The default stringsDelimiter is a comma, and by default, all strings parsed out are trimmed before returning.
    • parseLocale

      protected Locale parseLocale(String value)
      Converts a String value into a Locale.
    • parseNumber

      public Number parseNumber(String value)
      Converts an object to an instance of Number using the format returned by getNumberFormat() and the default Locale if the object is not already an instance of Number.
      Parameters:
      value - the string to parse
      Returns:
      the string as a Number or null if no conversion is possible
    • parseNumber

      public Number parseNumber(String value, String format)
      Converts an object to an instance of Number using the specified format and the Locale returned by LocaleConfig.getLocale().
      Parameters:
      value - - the string to parse
      format - - the format the number is in
      Returns:
      the string as a Number or null if no conversion is possible
      See Also:
    • parseNumber

      public Number parseNumber(String value, Object locale)
      Converts an object to an instance of Number using the configured number format and the specified Locale.
      Parameters:
      value - - the string to parse
      locale - - the Locale to use
      Returns:
      the string as a Number or null if no conversion is possible
      See Also:
    • parseNumber

      public Number parseNumber(String value, String format, Object locale)
      Converts an object to an instance of Number using the specified format and Locale.
      Parameters:
      value - - the string to parse
      format - - the format the number is in
      locale - - the Locale to use
      Returns:
      the string as a Number or null if no conversion is possible
      See Also:
    • parseDate

      public Date parseDate(String value)
      Converts a string to an instance of Date, using the configured date parsing format, the configured default Locale, and the system's default TimeZone to parse it.
      Parameters:
      value - the date to convert
      Returns:
      the object as a Date or null if no conversion is possible
    • parseDate

      public Date parseDate(String value, String format)
      Converts a string to an instance of Date using the specified format,the configured default Locale, and the system's default TimeZone to parse it.
      Parameters:
      value - - the date to convert
      format - - the format the date is in
      Returns:
      the string as a Date or null if no conversion is possible
      See Also:
    • parseDate

      public Date parseDate(String value, Object locale)
      Converts a string to an instance of Date using the configured date format and specified Locale to parse it.
      Parameters:
      value - - the date to convert
      locale - - the Locale to use
      Returns:
      the string as a Date or null if no conversion is possible
      See Also:
    • parseDate

      public Date parseDate(String value, String format, Object locale)
      Converts a string to an instance of Date using the specified format and Locale to parse it.
      Parameters:
      value - - the date to convert
      format - - the format the date is in
      locale - - the Locale to use
      Returns:
      the string as a Date or null if no conversion is possible
      See Also:
    • parseDate

      public Date parseDate(String value, String format, Object locale, TimeZone timezone)
      Converts a string to an instance of Date using the specified format, Locale, and TimeZone.
      Parameters:
      value - - the date to convert
      format - - the format the date is in
      locale - - the Locale to use
      timezone - - the TimeZone
      Returns:
      the string as a Date or null if no conversion is possible
      See Also: