Class ConversionTool

  • All Implemented Interfaces:
    java.io.Serializable

    @DefaultKey("convert")
    @SkipSetters
    @Deprecated
    public class ConversionTool
    extends LocaleConfig
    implements java.io.Serializable
    Deprecated.
    use NumberTool for numbers and booleans formatting/parsing, DateTool for date/time formatting/parsing, or CollectionTool for toStrings().

    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$ $Date: 2007-02-26 11:24:39 -0800 (Mon, 26 Feb 2007) $
    Author:
    Nathan Bubna
    See Also:
    Serialized Form
    • Field Detail

      • STRINGS_DELIMITER_FORMAT_KEY

        public static final java.lang.String STRINGS_DELIMITER_FORMAT_KEY
        Deprecated.
        See Also:
        Constant Field Values
      • DATE_FORMAT_KEY

        public static final java.lang.String DATE_FORMAT_KEY
        Deprecated.
        See Also:
        Constant Field Values
      • NUMBER_FORMAT_KEY

        public static final java.lang.String NUMBER_FORMAT_KEY
        Deprecated.
        See Also:
        Constant Field Values
      • DEFAULT_STRINGS_DELIMITER

        public static final java.lang.String DEFAULT_STRINGS_DELIMITER
        Deprecated.
        See Also:
        Constant Field Values
      • DEFAULT_STRINGS_TRIM

        public static final boolean DEFAULT_STRINGS_TRIM
        Deprecated.
        See Also:
        Constant Field Values
      • DEFAULT_NUMBER_FORMAT

        public static final java.lang.String DEFAULT_NUMBER_FORMAT
        Deprecated.
        See Also:
        Constant Field Values
      • DEFAULT_DATE_FORMAT

        public static final java.lang.String DEFAULT_DATE_FORMAT
        Deprecated.
        See Also:
        Constant Field Values
    • Constructor Detail

      • ConversionTool

        public ConversionTool()
        Deprecated.
    • Method Detail

      • configure

        protected void configure​(ValueParser values)
        Deprecated.
        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
        Parameters:
        values - configuration values
      • setStringsDelimiter

        protected final void setStringsDelimiter​(java.lang.String stringsDelimiter)
        Sets the delimiter used for separating values in a single String value. The default string delimiter is a comma.
        Parameters:
        stringsDelimiter - strings delimiter to use
        See Also:
        parseStringList(java.lang.String)
      • getStringsDelimiter

        public final java.lang.String getStringsDelimiter()
        Deprecated.
        Gets the delimiter used for separating values in a single String value.
        Returns:
        string delimiter
      • setNumberFormat

        protected final void setNumberFormat​(java.lang.String format)
        Deprecated.
        use NumberTool format
        Sets numbers format
        Parameters:
        format - numbers format
      • getNumberFormat

        public final java.lang.String getNumberFormat()
        Deprecated.
        use NumberTool format
        Returns:
        number format
      • setDateFormat

        protected final void setDateFormat​(java.lang.String format)
        Deprecated.
        use DateTool setDateFormat() methods
        Sets date format
        Parameters:
        format - date format
      • getDateFormat

        public final java.lang.String getDateFormat()
        Deprecated.
        use DateTool getDateFormat() methods
        Returns:
        date format
      • toString

        public java.lang.String toString​(java.lang.Object value)
        Deprecated.
        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 java.lang.Boolean toBoolean​(java.lang.Object value)
        Deprecated.
        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 java.lang.Integer toInteger​(java.lang.Object value)
        Deprecated.
        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 java.lang.Double toDouble​(java.lang.Object value)
        Deprecated.
        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 java.lang.Number toNumber​(java.lang.Object value)
        Deprecated.
        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 java.util.Locale toLocale​(java.lang.Object value)
        Deprecated.
        use DateTool.toLocale(Object)
        Overrides:
        toLocale in class LocaleConfig
        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 java.util.Date toDate​(java.lang.Object value)
        Deprecated.
        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 java.util.Calendar toCalendar​(java.lang.Object value)
        Parameters:
        value - target object
        Returns:
        calendar
      • toStrings

        public java.lang.String[] toStrings​(java.lang.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 java.lang.Boolean[] toBooleans​(java.lang.Object value)
        Deprecated.
        Parameters:
        value - the value to be converted
        Returns:
        an array of Boolean objects derived from the specified value, or null.
      • toBooleans

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

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

        public java.lang.Number[] toNumbers​(java.util.Collection values)
        Deprecated.
        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​(java.lang.Object value)
        Deprecated.
        Parameters:
        value - the value to be converted
        Returns:
        an array of int values derived from the specified value, or null.
      • toIntegers

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

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

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

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

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

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

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

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

        public java.util.List toList​(java.lang.Object value)
        Deprecated.
        Convert a singleton or an array as List
        Parameters:
        value - Object to be converted
        Returns:
        either the object itself if it's already a list, the object converted to a list if it's an array, or a new singleton list.
      • parseBoolean

        protected java.lang.Boolean parseBoolean​(java.lang.String value)
        Deprecated.
        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 java.lang.String[] parseStringList​(java.lang.String value)
        Deprecated.
        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.
        Parameters:
        value - string list to parse
        Returns:
        array of strings
      • parseLocale

        protected java.util.Locale parseLocale​(java.lang.String value)
        Deprecated.
        Converts a String value into a Locale.
        Parameters:
        value - string of locale to parse
        Returns:
        parsed locale, or null
      • parseNumber

        public java.lang.Number parseNumber​(java.lang.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 java.lang.Number parseNumber​(java.lang.String value,
                                            java.lang.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:
        NumberFormat.parse(java.lang.String, java.text.ParsePosition)
      • parseNumber

        public java.lang.Number parseNumber​(java.lang.String value,
                                            java.lang.String format,
                                            java.lang.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:
        NumberFormat.parse(java.lang.String, java.text.ParsePosition)
      • parseDate

        public java.util.Date parseDate​(java.lang.String value)
        Deprecated.
        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 java.util.Date parseDate​(java.lang.String value,
                                        java.lang.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:
        SimpleDateFormat.parse(java.lang.String, java.text.ParsePosition)
      • parseDate

        public java.util.Date parseDate​(java.lang.String value,
                                        java.lang.String format,
                                        java.lang.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:
        SimpleDateFormat.parse(java.lang.String, java.text.ParsePosition)
      • parseDate

        public java.util.Date parseDate​(java.lang.String value,
                                        java.lang.String format,
                                        java.lang.Object locale,
                                        java.util.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:
        getDateFormat(), SimpleDateFormat.parse(java.lang.String, java.text.ParsePosition)