Class ConversionUtils


  • public class ConversionUtils
    extends java.lang.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
    • Constructor Summary

      Constructors 
      Modifier Constructor Description
      private ConversionUtils()  
    • Method Summary

      All Methods Static Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      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 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 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 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.lang.Boolean toBoolean​(java.lang.Object value)
      Converts any Object to a boolean using toString(Object) and Boolean.valueOf(String).
      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.lang.String toString​(java.lang.Object value)
      Converts objects to String in a more Tools-ish way than String.valueOf(Object), especially with nulls, Arrays and Collections.
      static java.lang.String toString​(java.util.Collection values)
      Returns the first value as a String, if any; otherwise returns null.
      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
    • Constructor Detail

      • ConversionUtils

        private ConversionUtils()
    • Method Detail

      • 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)
      • toString

        public static java.lang.String toString​(java.lang.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 java.lang.String toString​(java.util.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 java.lang.Boolean toBoolean​(java.lang.Object value)
        Converts any Object to a boolean using toString(Object) and Boolean.valueOf(String).
        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
      • 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