org.apache.velocity.tools
Class ConversionUtils

java.lang.Object
  extended by org.apache.velocity.tools.ConversionUtils

public class ConversionUtils
extends java.lang.Object

Utility methods for parsing or otherwise converting between types.

Author:
Nathan Bubna

Field Summary
static ConversionUtils INSTANCE
           
private static int STYLE_CURRENCY
           
private static int STYLE_INTEGER
           
private static int STYLE_NUMBER
           
private static int STYLE_PERCENT
           
 
Constructor Summary
private ConversionUtils()
           
 
Method Summary
static java.text.DateFormat getDateFormat(int dateStyle, int timeStyle, java.util.Locale locale, java.util.TimeZone timezone)
          Returns a DateFormat instance for the specified time style, date style, Locale, and TimeZone.
static java.text.DateFormat getDateFormat(java.lang.String format, java.util.Locale locale, java.util.TimeZone timezone)
          Returns a DateFormat instance for the specified format, Locale, and TimeZone.
static java.text.DateFormat getDateFormat(java.lang.String dateStyle, java.lang.String timeStyle, java.util.Locale locale, java.util.TimeZone timezone)
          Returns a DateFormat instance for the specified date style, time style, Locale, and TimeZone.
static int getDateStyleAsInt(java.lang.String style)
          Checks a string to see if it matches one of the standard DateFormat style patterns: full, long, medium, short, or default.
 ConversionUtils getInstance()
           
static java.text.NumberFormat getNumberFormat(int numberStyle, java.util.Locale locale)
          Returns a NumberFormat instance for the specified number style and Locale.
static java.text.NumberFormat getNumberFormat(java.lang.String format, java.util.Locale locale)
          Returns a NumberFormat instance for the specified format and Locale.
static int getNumberStyleAsInt(java.lang.String style)
          Checks a string to see if it matches one of the standard NumberFormat style patterns: number, currency, percent, integer, or default.
static java.util.Calendar toCalendar(java.util.Date date, java.util.Locale locale)
           
static java.util.Date toDate(java.lang.Object obj)
          Attempts to convert an unidentified Object into a Date, just short of turning it into a string and parsing it.
static java.util.Date toDate(java.lang.Object obj, java.lang.String format, java.util.Locale locale, java.util.TimeZone timezone)
          Converts an object to an instance of Date using the specified format, Locale, and TimeZone if the object is not already an instance of Date, Calendar, or Long.
static java.util.Date toDate(java.lang.String str, java.lang.String format, java.util.Locale locale, java.util.TimeZone timezone)
          Converts an object to an instance of Date using the specified format, Locale, and TimeZone if the object is not already an instance of Date, Calendar, or Long.
static java.util.Locale toLocale(java.lang.String value)
          Converts a string to a Locale
static java.lang.Number toNumber(java.lang.Object obj)
          Attempts to convert an unidentified Object into a Number, just short of turning it into a string and parsing it.
static java.lang.Number toNumber(java.lang.Object obj, boolean handleStrings)
          Just like toNumber(Object) except that you can tell this to attempt parsing the object as a String by passing true as the second parameter.
static java.lang.Number toNumber(java.lang.Object value, java.lang.String format, java.util.Locale locale)
          Converts an object to an instance of Number using the specified format and Locale to parse it, if necessary.
static java.lang.Number toNumber(java.lang.String value, java.lang.String format, java.util.Locale locale)
          Converts a string to an instance of Number using the specified format and Locale to parse it.
static java.net.URL toURL(java.lang.String value)
          Converts a string to a URL.
static java.net.URL toURL(java.lang.String value, java.lang.Object caller)
          Converts a string to a URL.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

INSTANCE

public static final ConversionUtils INSTANCE

STYLE_NUMBER

private static final int STYLE_NUMBER
See Also:
Constant Field Values

STYLE_CURRENCY

private static final int STYLE_CURRENCY
See Also:
Constant Field Values

STYLE_PERCENT

private static final int STYLE_PERCENT
See Also:
Constant Field Values

STYLE_INTEGER

private static final int STYLE_INTEGER
See Also:
Constant Field Values
Constructor Detail

ConversionUtils

private ConversionUtils()
Method Detail

getInstance

public ConversionUtils getInstance()

getNumberFormat

public static java.text.NumberFormat getNumberFormat(java.lang.String format,
                                                     java.util.Locale locale)
Returns a NumberFormat instance for the specified format and Locale. If the format specified is a standard style pattern, then a number instance will be returned with the number style set to the specified style. If it is a custom format, then a customized NumberFormat will be returned.

Parameters:
format - the custom or standard formatting pattern to be used
locale - the Locale to be used
Returns:
an instance of NumberFormat
See Also:
NumberFormat

getNumberFormat

public static java.text.NumberFormat getNumberFormat(int numberStyle,
                                                     java.util.Locale locale)
Returns a NumberFormat instance for the specified number style and Locale.

Parameters:
numberStyle - the number style (number will be ignored if this is less than zero or the number style is not recognized)
locale - the Locale to be used
Returns:
an instance of NumberFormat or null if an instance cannot be constructed with the given parameters

getNumberStyleAsInt

public static int getNumberStyleAsInt(java.lang.String style)
Checks a string to see if it matches one of the standard NumberFormat style patterns: number, currency, percent, integer, or default. if it does it will return the integer constant for that pattern. if not, it will return -1.

Parameters:
style - the string to be checked
Returns:
the int identifying the style pattern
See Also:
NumberFormat

toNumber

public static java.lang.Number toNumber(java.lang.Object obj)
Attempts to convert an unidentified Object into a Number, just short of turning it into a string and parsing it. In other words, this will convert to Number from a Number, Calendar, or Date. If it can't do that, it will get the string value and have toNumber(String,String,Locale) try to parse it using the default Locale and format.

Parameters:
obj - - the object to convert

toNumber

public static java.lang.Number toNumber(java.lang.Object obj,
                                        boolean handleStrings)
Just like toNumber(Object) except that you can tell this to attempt parsing the object as a String by passing true as the second parameter. If you do so, then it will have toNumber(String,String,Locale) try to parse it using the default Locale and format.


toNumber

public static java.lang.Number toNumber(java.lang.String value,
                                        java.lang.String format,
                                        java.util.Locale locale)
Converts a string to an instance of Number using the specified format and Locale to parse it.

Parameters:
value - - the string to convert
format - - the format the number is in
locale - - the Locale
Returns:
the string as a Number or null if no conversion is possible
See Also:
NumberFormat.parse(java.lang.String, java.text.ParsePosition)

toNumber

public static java.lang.Number toNumber(java.lang.Object value,
                                        java.lang.String format,
                                        java.util.Locale locale)
Converts an object to an instance of Number using the specified format and Locale to parse it, if necessary.

Parameters:
value - - the object to convert
format - - the format the number is in
locale - - the Locale
Returns:
the object as a Number or null if no conversion is possible
See Also:
NumberFormat.parse(java.lang.String, java.text.ParsePosition)

getDateFormat

public static java.text.DateFormat getDateFormat(java.lang.String format,
                                                 java.util.Locale locale,
                                                 java.util.TimeZone timezone)
Returns a DateFormat instance for the specified format, Locale, and TimeZone. If the format specified is a standard style pattern, then a date-time instance will be returned with both the date and time styles set to the specified style. If it is a custom format, then a customized SimpleDateFormat will be returned.

Parameters:
format - the custom or standard formatting pattern to be used
locale - the Locale to be used
timezone - the TimeZone to be used
Returns:
an instance of DateFormat
See Also:
SimpleDateFormat, DateFormat

getDateFormat

public static java.text.DateFormat getDateFormat(java.lang.String dateStyle,
                                                 java.lang.String timeStyle,
                                                 java.util.Locale locale,
                                                 java.util.TimeZone timezone)
Returns a DateFormat instance for the specified date style, time style, Locale, and TimeZone.

Parameters:
dateStyle - the date style
timeStyle - the time style
locale - the Locale to be used
timezone - the TimeZone to be used
Returns:
an instance of DateFormat
See Also:
getDateFormat(int timeStyle, int dateStyle, Locale locale, TimeZone timezone)

getDateFormat

public static java.text.DateFormat getDateFormat(int dateStyle,
                                                 int timeStyle,
                                                 java.util.Locale locale,
                                                 java.util.TimeZone timezone)
Returns a DateFormat instance for the specified time style, date style, Locale, and TimeZone.

Parameters:
dateStyle - the date style (date will be ignored if this is less than zero and the date style is not)
timeStyle - the time style (time will be ignored if this is less than zero and the date style is not)
locale - the Locale to be used
timezone - the TimeZone to be used
Returns:
an instance of DateFormat or null if an instance cannot be constructed with the given parameters

getDateStyleAsInt

public static int getDateStyleAsInt(java.lang.String style)
Checks a string to see if it matches one of the standard DateFormat style patterns: full, long, medium, short, or default. If it does, it will return the integer constant for that pattern. If not, it will return -1.

Parameters:
style - the string to be checked
Returns:
the int identifying the style pattern
See Also:
DateFormat

toDate

public static java.util.Date toDate(java.lang.Object obj)
Attempts to convert an unidentified Object into a Date, just short of turning it into a string and parsing it. In other words, this will convert to Date from a Date, Calendar, or Number. If it can't do that, it will return null.

Parameters:
obj - - the object to convert

toDate

public static java.util.Date toDate(java.lang.Object obj,
                                    java.lang.String format,
                                    java.util.Locale locale,
                                    java.util.TimeZone timezone)
Converts an object to an instance of Date using the specified format, Locale, and TimeZone if the object is not already an instance of Date, Calendar, or Long.

Parameters:
obj - - the date to convert
format - - the format the date is in
locale - - the Locale
timezone - - the TimeZone
Returns:
the object as a Date or null if no conversion is possible
See Also:
getDateFormat(java.lang.String, java.util.Locale, java.util.TimeZone), SimpleDateFormat.parse(java.lang.String, java.text.ParsePosition)

toDate

public static java.util.Date toDate(java.lang.String str,
                                    java.lang.String format,
                                    java.util.Locale locale,
                                    java.util.TimeZone timezone)
Converts an object to an instance of Date using the specified format, Locale, and TimeZone if the object is not already an instance of Date, Calendar, or Long.

Parameters:
str - - the string to parse
format - - the format the date is in
locale - - the Locale
timezone - - the TimeZone
Returns:
the string as a Date or null if the parsing fails
See Also:
getDateFormat(java.lang.String, java.util.Locale, java.util.TimeZone), SimpleDateFormat.parse(java.lang.String, java.text.ParsePosition)

toCalendar

public static java.util.Calendar toCalendar(java.util.Date date,
                                            java.util.Locale locale)

toLocale

public static java.util.Locale toLocale(java.lang.String value)
Converts a string to a Locale

Parameters:
value - - the string to parse
Returns:
the Locale or null if the parsing fails

toURL

public static java.net.URL toURL(java.lang.String value)
Converts a string to a URL. It will first try to treat the string as a File name, then a classpath resource, then finally as a literal URL. If none of these work, then this will return null.

Parameters:
value - - the string to parse
Returns:
the URL form of the string or null
See Also:
File, ClassUtils.getResource(String,Object), URL

toURL

public static java.net.URL toURL(java.lang.String value,
                                 java.lang.Object caller)
Converts a string to a URL. It will first try to treat the string as a File name, then a classpath resource, then finally as a literal URL. If none of these work, then this will return null.

Parameters:
value - - the string to parse
caller - - the object or Class seeking the url
Returns:
the URL form of the string or null
See Also:
File, ClassUtils.getResource(String,Object), URL


Copyright (c) 2003-2007 Apache Software Foundation