Interface CsvConverter

All Known Implementing Classes:
AbstractCsvConverter, ConverterCurrency, ConverterDate, ConverterEnum, ConverterNumber, ConverterPrimitiveTypes, ConverterUUID

public interface CsvConverter
Classes implementing this interface perform a conversion from String to some type on reading and some type to String on writing.

This interface is used by BeanField to perform the actual data conversion.

Synchronization: All implementations of this interface must be thread-safe.

Since:
4.2
  • Method Summary

    Modifier and Type
    Method
    Description
    Method for converting from a string to the proper data type of the destination field.
    Method for converting from the data type of the destination field to a string.
    void
    setErrorLocale(Locale errorLocale)
    Sets the locale for all error messages.
    void
    setLocale(String locale)
    If not null or empty, specifies the locale used for converting locale-specific data types for reading.
    void
    setType(Class<?> type)
    Sets the class of the type of the data being processed.
    void
    setWriteLocale(String writeLocale)
    If not null or empty, specifies the locale used for converting locale-specific data types for writing.
  • Method Details

    • convertToRead

      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
      CsvConstraintViolationException - When the internal structure of data would be violated by the data in the CSV file
    • convertToWrite

      String convertToWrite(Object value) throws CsvDataTypeMismatchException
      Method for converting from the data type of the destination field to a string.
      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 the input cannot be converted to a string by this converter
    • setErrorLocale

      void setErrorLocale(Locale errorLocale)
      Sets the locale for all error messages.
      Parameters:
      errorLocale - Locale for error messages. If null, the default locale is used.
    • setType

      void setType(Class<?> type)
      Sets the class of the type of the data being processed.
      Parameters:
      type - The type of the data being processed
      Since:
      4.3
    • setLocale

      void setLocale(String locale)
      If not null or empty, specifies the locale used for converting locale-specific data types for reading.
      Parameters:
      locale - The name of the locale for locale-sensitive data
      Since:
      4.3
    • setWriteLocale

      void setWriteLocale(String writeLocale)
      If not null or empty, specifies the locale used for converting locale-specific data types for writing.
      Parameters:
      writeLocale - The name of the locale for locale-sensitive data
      Since:
      5.0