Package org.apache.velocity.tools
Class ConversionUtils
- java.lang.Object
-
- org.apache.velocity.tools.ConversionUtils
-
public class ConversionUtils extends Object
Utility methods for parsing or otherwise converting between types. Current supported types are Number, Date, Calendar, String, Boolean, Locale and URL- Author:
- Nathan Bubna
-
-
Field Summary
Fields Modifier and Type Field Description static ConversionUtilsINSTANCE
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description static DateFormatgetDateFormat(int dateStyle, int timeStyle, Locale locale, TimeZone timezone)static DateFormatgetDateFormat(String dateStyle, String timeStyle, Locale locale, TimeZone timezone)static DateFormatgetDateFormat(String format, Locale locale, TimeZone timezone)static intgetDateStyleAsInt(String style)Checks a string to see if it matches one of the standard DateFormat style patterns: full, long, medium, short, or default.ConversionUtilsgetInstance()static NumberFormatgetNumberFormat(int numberStyle, Locale locale)Returns aNumberFormatinstance for the specified number style andLocale.static NumberFormatgetNumberFormat(String format, Locale locale)Returns aNumberFormatinstance for the specified format andLocale.static intgetNumberStyleAsInt(String style)Checks a string to see if it matches one of the standard NumberFormat style patterns: number, currency, percent, integer, or default.static BooleantoBoolean(Object value)Converts any Object to a boolean usingtoString(Object)andBoolean.valueOf(String).static CalendartoCalendar(Date date, Locale locale)static DatetoDate(Object obj)static DatetoDate(Object obj, String format, Locale locale, TimeZone timezone)static DatetoDate(String str, String format, Locale locale, TimeZone timezone)static LocaletoLocale(String value)Converts a string to aLocalestatic NumbertoNumber(Object obj)static NumbertoNumber(Object obj, boolean handleStrings)Just liketoNumber(Object)except that you can tell this to attempt parsing the object as a String by passingtrueas the second parameter.static NumbertoNumber(Object value, String format, Locale locale)static NumbertoNumber(String value, String format, Locale locale)static StringtoString(Object value)Converts objects to String in a more Tools-ish way than String.valueOf(Object), especially with nulls, Arrays and Collections.static StringtoString(Collection values)Returns the first value as a String, if any; otherwise returns null.static URLtoURL(String value)Converts a string to aURL.static URLtoURL(String value, Object caller)Converts a string to aURL.
-
-
-
Field Detail
-
INSTANCE
public static final ConversionUtils INSTANCE
-
-
Method Detail
-
getInstance
public ConversionUtils getInstance()
-
getNumberFormat
public static NumberFormat getNumberFormat(String format, Locale locale)
Returns aNumberFormatinstance for the specified format andLocale. 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 customizedNumberFormatwill be returned.- Parameters:
format- the custom or standard formatting pattern to be usedlocale- theLocaleto be used- Returns:
- an instance of
NumberFormat - See Also:
NumberFormat
-
getNumberFormat
public static NumberFormat getNumberFormat(int numberStyle, Locale locale)
Returns aNumberFormatinstance for the specified number style andLocale.- Parameters:
numberStyle- the number style (number will be ignored if this is less than zero or the number style is not recognized)locale- theLocaleto be used- Returns:
- an instance of
NumberFormatornullif an instance cannot be constructed with the given parameters
-
getNumberStyleAsInt
public static int getNumberStyleAsInt(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 Number toNumber(Object obj)
Attempts to convert an unidentifiedObjectinto aNumber, just short of turning it into a string and parsing it. In other words, this will convert toNumberfrom aNumber,Calendar, orDate. If it can't do that, it will get the string value and havetoNumber(String,String,Locale)try to parse it using the default Locale and format.- Parameters:
obj- - the object to convert
-
toNumber
public static Number toNumber(Object obj, boolean handleStrings)
Just liketoNumber(Object)except that you can tell this to attempt parsing the object as a String by passingtrueas the second parameter. If you do so, then it will havetoNumber(String,String,Locale)try to parse it using the default Locale and format.
-
toNumber
public static Number toNumber(String value, String format, Locale locale)
- Parameters:
value- - the string to convertformat- - the format the number is inlocale- - theLocale- Returns:
- the string as a
Numberornullif no conversion is possible - See Also:
NumberFormat.parse(java.lang.String, java.text.ParsePosition)
-
toNumber
public static Number toNumber(Object value, String format, Locale locale)
Converts an object to an instance ofNumberusing the specified format andLocaleto parse it, if necessary.- Parameters:
value- - the object to convertformat- - the format the number is inlocale- - theLocale- Returns:
- the object as a
Numberornullif no conversion is possible - See Also:
NumberFormat.parse(java.lang.String, java.text.ParsePosition)
-
getDateFormat
public static DateFormat getDateFormat(String format, Locale locale, TimeZone timezone)
Returns aDateFormatinstance for the specified format,Locale, andTimeZone. 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 customizedSimpleDateFormatwill be returned.- Parameters:
format- the custom or standard formatting pattern to be usedlocale- theLocaleto be usedtimezone- theTimeZoneto be used- Returns:
- an instance of
DateFormat - See Also:
SimpleDateFormat,DateFormat
-
getDateFormat
public static DateFormat getDateFormat(String dateStyle, String timeStyle, Locale locale, TimeZone timezone)
- Parameters:
dateStyle- the date styletimeStyle- the time stylelocale- theLocaleto be usedtimezone- theTimeZoneto be used- Returns:
- an instance of
DateFormat - See Also:
getDateFormat(int timeStyle, int dateStyle, Locale locale, TimeZone timezone)
-
getDateFormat
public static DateFormat getDateFormat(int dateStyle, int timeStyle, Locale locale, TimeZone 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- theLocaleto be usedtimezone- theTimeZoneto be used- Returns:
- an instance of
DateFormatornullif an instance cannot be constructed with the given parameters
-
getDateStyleAsInt
public static int getDateStyleAsInt(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 Date toDate(Object obj)
Attempts to convert an unidentifiedObjectinto aDate, just short of turning it into a string and parsing it. In other words, this will convert toDatefrom aDate,Calendar, orNumber. If it can't do that, it will returnnull.- Parameters:
obj- - the object to convert
-
toDate
public static Date toDate(Object obj, String format, Locale locale, TimeZone timezone)
Converts an object to an instance ofDateusing the specified format,Locale, andTimeZoneif the object is not already an instance of Date, Calendar, or Long.- Parameters:
obj- - the date to convertformat- - the format the date is inlocale- - theLocaletimezone- - theTimeZone- Returns:
- the object as a
Dateornullif 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 Date toDate(String str, String format, Locale locale, TimeZone timezone)
Converts an object to an instance ofDateusing the specified format,Locale, andTimeZoneif the object is not already an instance of Date, Calendar, or Long.- Parameters:
str- - the string to parseformat- - the format the date is inlocale- - theLocaletimezone- - theTimeZone- Returns:
- the string as a
Dateornullif the parsing fails - See Also:
getDateFormat(java.lang.String, java.util.Locale, java.util.TimeZone),SimpleDateFormat.parse(java.lang.String, java.text.ParsePosition)
-
toString
public static 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 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 whose first value is null
-
toString
public static String toString(Collection values)
Returns the first value as a String, if any; otherwise returns null.- Parameters:
values- the Collection to be turned into a string- Returns:
- the string value of the first object in the collection or null if the collection is empty
-
toBoolean
public static Boolean toBoolean(Object value)
Converts any Object to a boolean usingtoString(Object)andBoolean.valueOf(String).- Parameters:
value- the object to be converted- Returns:
- a
Booleanobject for the specified value ornullif the value is null or the conversion failed
-
toLocale
public static Locale toLocale(String value)
Converts a string to aLocale- Parameters:
value- - the string to parse- Returns:
- the
Localeornullif the parsing fails
-
toURL
public static URL toURL(String value)
Converts a string to aURL. 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 returnnull.- Parameters:
value- - the string to parse- Returns:
- the
URLform of the string ornull - See Also:
File,ClassUtils.getResource(String,Object),URL
-
toURL
public static URL toURL(String value, Object caller)
Converts a string to aURL. 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 returnnull.- Parameters:
value- - the string to parsecaller- - the object or Class seeking the url- Returns:
- the
URLform of the string ornull - See Also:
File,ClassUtils.getResource(String,Object),URL
-
-