Class BaseLocaleConverter

java.lang.Object
org.apache.commons.beanutils.locale.BaseLocaleConverter
All Implemented Interfaces:
Converter, LocaleConverter
Direct Known Subclasses:
DateLocaleConverter, DecimalLocaleConverter, StringLocaleConverter

public abstract class BaseLocaleConverter extends Object implements LocaleConverter

The base class for all standart type locale-sensitive converters. It has LocaleConverter and Converter implementations, that convert an incoming locale-sensitive Object into an object of correspond type, optionally using a default value or throwing a ConversionException if a conversion error occurs.

Version:
$Id$
  • Field Details

    • log

      private final org.apache.commons.logging.Log log
      All logging goes through this logger
    • defaultValue

      private Object defaultValue
      The default value specified to our Constructor, if any.
    • useDefault

      protected boolean useDefault
      Should we return the default value on conversion errors?
    • locale

      protected Locale locale
      The locale specified to our Constructor, by default - system locale.
    • pattern

      protected String pattern
      The default pattern specified to our Constructor, if any.
    • locPattern

      protected boolean locPattern
      The flag indicating whether the given pattern string is localized or not.
  • Constructor Details

    • BaseLocaleConverter

      protected BaseLocaleConverter(Locale locale, String pattern)
      Create a LocaleConverter that will throw a ConversionException if a conversion error occurs. An unlocalized pattern is used for the convertion.
      Parameters:
      locale - The locale
      pattern - The convertion pattern
    • BaseLocaleConverter

      protected BaseLocaleConverter(Locale locale, String pattern, boolean locPattern)
      Create a LocaleConverter that will throw a ConversionException if a conversion error occurs.
      Parameters:
      locale - The locale
      pattern - The convertion pattern
      locPattern - Indicate whether the pattern is localized or not
    • BaseLocaleConverter

      protected BaseLocaleConverter(Object defaultValue, Locale locale, String pattern)
      Create a LocaleConverter that will return the specified default value if a conversion error occurs. An unlocalized pattern is used for the convertion.
      Parameters:
      defaultValue - The default value to be returned
      locale - The locale
      pattern - The convertion pattern
    • BaseLocaleConverter

      protected BaseLocaleConverter(Object defaultValue, Locale locale, String pattern, boolean locPattern)
      Create a LocaleConverter that will return the specified default value if a conversion error occurs.
      Parameters:
      defaultValue - The default value to be returned
      locale - The locale
      pattern - The convertion pattern
      locPattern - Indicate whether the pattern is localized or not
    • BaseLocaleConverter

      private BaseLocaleConverter(Object defaultValue, Locale locale, String pattern, boolean useDefault, boolean locPattern)
      Create a LocaleConverter that will return the specified default value or throw a ConversionException if a conversion error occurs.
      Parameters:
      defaultValue - The default value to be returned
      locale - The locale
      pattern - The convertion pattern
      useDefault - Indicate whether the default value is used or not
      locPattern - Indicate whether the pattern is localized or not
  • Method Details

    • parse

      protected abstract Object parse(Object value, String pattern) throws ParseException
      Convert the specified locale-sensitive input object into an output object of the specified type.
      Parameters:
      value - The input object to be converted
      pattern - The pattern is used for the convertion
      Returns:
      The converted value
      Throws:
      ParseException - if conversion cannot be performed successfully
    • convert

      public Object convert(Object value)
      Convert the specified locale-sensitive input object into an output object. The default pattern is used for the conversion.
      Parameters:
      value - The input object to be converted
      Returns:
      The converted value
      Throws:
      ConversionException - if conversion cannot be performed successfully
    • convert

      public Object convert(Object value, String pattern)
      Convert the specified locale-sensitive input object into an output object.
      Parameters:
      value - The input object to be converted
      pattern - The pattern is used for the conversion
      Returns:
      The converted value
      Throws:
      ConversionException - if conversion cannot be performed successfully
    • convert

      public <T> T convert(Class<T> type, Object value)
      Convert the specified locale-sensitive input object into an output object of the specified type. The default pattern is used for the convertion.
      Specified by:
      convert in interface Converter
      Type Parameters:
      T - The desired target type of the conversion
      Parameters:
      type - Data type to which this value should be converted
      value - The input object to be converted
      Returns:
      The converted value
      Throws:
      ConversionException - if conversion cannot be performed successfully
    • convert

      public <T> T convert(Class<T> type, Object value, String pattern)
      Convert the specified locale-sensitive input object into an output object of the specified type.
      Specified by:
      convert in interface LocaleConverter
      Type Parameters:
      T - The desired target type of the conversion
      Parameters:
      type - Data is type to which this value should be converted
      value - is the input object to be converted
      pattern - is the pattern is used for the conversion; if null is passed then the default pattern associated with the converter object will be used.
      Returns:
      The converted value
      Throws:
      ConversionException - if conversion cannot be performed successfully
    • getDefaultAs

      private <T> T getDefaultAs(Class<T> type)
      Returns the default object specified for this converter cast for the given target type. If the default value is not conform to the given type, an exception is thrown.
      Type Parameters:
      T - the desired target type
      Parameters:
      type - the target class of the conversion
      Returns:
      the default value in the given target type
      Throws:
      ConversionException - if the default object is not compatible with the target type
    • checkConversionResult

      private static <T> T checkConversionResult(Class<T> type, Object result)
      Checks whether the result of a conversion is conform to the specified target type. If this is the case, the passed in result object is cast to the correct target type. Otherwise, an exception is thrown.
      Type Parameters:
      T - the desired result type
      Parameters:
      type - the target class of the conversion
      result - the conversion result object
      Returns:
      the result cast to the target class
      Throws:
      ConversionException - if the result object is not compatible with the target type