Class ConverterPrimitiveTypes

  • All Implemented Interfaces:
    CsvConverter

    public class ConverterPrimitiveTypes
    extends AbstractCsvConverter
    This class wraps fields from the reflection API in order to handle translation of primitive types and to add a "required" flag.
    Since:
    4.2 (previously BeanFieldPrimitiveTypes since 3.8)
    Author:
    Andrew Rucker Jones
    • Field Summary

      Fields 
      Modifier and Type Field Description
      protected org.apache.commons.beanutils.ConvertUtilsBean readConverter
      The formatter for all inputs to wrapped and unwrapped primitive types when a specific locale is not required.
      protected org.apache.commons.beanutils.locale.LocaleConvertUtilsBean readLocaleConverter
      The formatter for all inputs to wrapped and unwrapped primitive types when a specific locale is required.
      protected org.apache.commons.beanutils.ConvertUtilsBean writeConverter
      The formatter for all inputs from wrapped and unwrapped primitive types when a specific locale is not required.
      protected org.apache.commons.beanutils.locale.LocaleConvertUtilsBean writeLocaleConverter
      The formatter for all inputs from wrapped and unwrapped primitive types when a specific locale is required.
    • Constructor Summary

      Constructors 
      Constructor Description
      ConverterPrimitiveTypes​(java.lang.Class<?> type, java.lang.String locale, java.lang.String writeLocale, java.util.Locale errorLocale)  
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      java.lang.Object convertToRead​(java.lang.String value)
      Method for converting from a string to the proper data type of the destination field.
      java.lang.String convertToWrite​(java.lang.Object value)
      This method takes the current value of the field in question in the bean passed in and converts it to a string.
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Field Detail

      • readConverter

        protected final org.apache.commons.beanutils.ConvertUtilsBean readConverter
        The formatter for all inputs to wrapped and unwrapped primitive types when a specific locale is not required.

        Either this or readLocaleConverter should be used, and the other should always be null.

        It is absolutely critical that access to this member variable is always synchronized!

      • readLocaleConverter

        protected final org.apache.commons.beanutils.locale.LocaleConvertUtilsBean readLocaleConverter
        The formatter for all inputs to wrapped and unwrapped primitive types when a specific locale is required.

        Either this or readConverter should be used, and the other should always be null.

        It is absolutely critical that access to this member variable is always synchronized!

      • writeConverter

        protected final org.apache.commons.beanutils.ConvertUtilsBean writeConverter
        The formatter for all inputs from wrapped and unwrapped primitive types when a specific locale is not required.

        Either this or writeLocaleConverter should be used, and the other should always be null.

        It is absolutely critical that access to this member variable is always synchronized!

      • writeLocaleConverter

        protected final org.apache.commons.beanutils.locale.LocaleConvertUtilsBean writeLocaleConverter
        The formatter for all inputs from wrapped and unwrapped primitive types when a specific locale is required.

        Either this or writeConverter should be used, and the other should always be null.

        It is absolutely critical that access to this member variable is always synchronized!

    • Constructor Detail

      • ConverterPrimitiveTypes

        public ConverterPrimitiveTypes​(java.lang.Class<?> type,
                                       java.lang.String locale,
                                       java.lang.String writeLocale,
                                       java.util.Locale errorLocale)
        Parameters:
        type - The class of the type of the data being processed
        locale - If not null or empty, specifies the locale used for converting locale-specific data types
        writeLocale - If not null or empty, specifies the locale used for converting locale-specific data types for writing
        errorLocale - The locale to use for error messages.
    • Method Detail

      • convertToRead

        public java.lang.Object convertToRead​(java.lang.String value)
                                       throws CsvDataTypeMismatchException
        Description copied from interface: CsvConverter
        Method for converting from a string to the proper data type of the destination field.
        Parameters:
        value - The string from the selected field of the CSV file. If the field is marked as required in the annotation, this value is guaranteed not to be null, empty or blank according to StringUtils.isBlank(java.lang.CharSequence)
        Returns:
        An Object representing the input data converted into the proper type
        Throws:
        CsvDataTypeMismatchException - If the input string cannot be converted into the proper type
      • convertToWrite

        public java.lang.String convertToWrite​(java.lang.Object value)
                                        throws CsvDataTypeMismatchException
        This method takes the current value of the field in question in the bean passed in and converts it to a string. It works for all of the primitives, wrapped primitives, String, BigDecimal, and BigInteger.
        Specified by:
        convertToWrite in interface CsvConverter
        Overrides:
        convertToWrite in class AbstractCsvConverter
        Parameters:
        value - The contents of the field currently being processed from the bean to be written. Can be null if the field is not marked as required.
        Returns:
        A string representation of the value of the field in question in the bean passed in, or an empty string if value is null
        Throws:
        CsvDataTypeMismatchException - If there is an error converting value to a string