Package com.opencsv.bean
Class AbstractCsvConverter
- java.lang.Object
-
- com.opencsv.bean.AbstractCsvConverter
-
- All Implemented Interfaces:
CsvConverter
- Direct Known Subclasses:
ConverterCurrency,ConverterDate,ConverterEnum,ConverterNumber,ConverterPrimitiveTypes,ConverterUUID
public abstract class AbstractCsvConverter extends java.lang.Object implements CsvConverter
This implementation ofCsvConverterprovides a reasonable default forCsvConverter.convertToWrite(java.lang.Object)as well as a couple of common fields.- Since:
- 4.2
-
-
Field Summary
Fields Modifier and Type Field Description protected java.util.LocaleerrorLocaleThe locale to be used for error messages.protected java.util.LocalelocaleThe locale to be used when converting for reading, if a locale is relevant.protected java.lang.Class<?>typeThe type to which (on reading) or from which (on writing) conversion is being performed.protected java.util.LocalewriteLocaleThe locale to be used when converting for writing, if a locale is relevant.
-
Constructor Summary
Constructors Modifier Constructor Description protectedAbstractCsvConverter()Default nullary constructor, so derived classes aren't forced to create a constructor identical to this one.protectedAbstractCsvConverter(java.lang.Class<?> type, java.lang.String locale, java.lang.String writeLocale, java.util.Locale errorLocale)Currently the only constructor for this class.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description java.lang.StringconvertToWrite(java.lang.Object value)This implementation simply callstoString()onvalue.voidsetErrorLocale(java.util.Locale errorLocale)Sets the locale for all error messages.voidsetLocale(java.lang.String locale)If not null or empty, specifies the locale used for converting locale-specific data types for reading.voidsetType(java.lang.Class<?> type)Sets the class of the type of the data being processed.voidsetWriteLocale(java.lang.String writeLocale)If not null or empty, specifies the locale used for converting locale-specific data types for writing.-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface com.opencsv.bean.CsvConverter
convertToRead
-
-
-
-
Field Detail
-
type
protected java.lang.Class<?> type
The type to which (on reading) or from which (on writing) conversion is being performed.
-
locale
protected java.util.Locale locale
The locale to be used when converting for reading, if a locale is relevant.
-
writeLocale
protected java.util.Locale writeLocale
The locale to be used when converting for writing, if a locale is relevant.
-
errorLocale
protected java.util.Locale errorLocale
The locale to be used for error messages.
-
-
Constructor Detail
-
AbstractCsvConverter
protected AbstractCsvConverter()
Default nullary constructor, so derived classes aren't forced to create a constructor identical to this one.- Since:
- 4.3
-
AbstractCsvConverter
protected AbstractCsvConverter(java.lang.Class<?> type, java.lang.String locale, java.lang.String writeLocale, java.util.Locale errorLocale)Currently the only constructor for this class.- Parameters:
type- The type to which (on reading) or from which (on writing) is being convertedlocale- The locale to be used when converting for reading, if a locale is relevantwriteLocale- The locale to be used when converting for writing, if a locale is relevanterrorLocale- The locale to be used for error messages
-
-
Method Detail
-
convertToWrite
public java.lang.String convertToWrite(java.lang.Object value) throws CsvDataTypeMismatchExceptionThis implementation simply callstoString()onvalue. For complex types, overriding thetoString()method in the type of the field in question would be an alternative to writing a conversion routine in a class derived from this one.- Specified by:
convertToWritein interfaceCsvConverter- Parameters:
value- The contents of the field currently being processed from the bean to be written. Can benullif 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
valueisnull - Throws:
CsvDataTypeMismatchException- This implementation doesn't, but subclasses do, so it must be declared
-
setErrorLocale
public void setErrorLocale(java.util.Locale errorLocale)
Description copied from interface:CsvConverterSets the locale for all error messages.- Specified by:
setErrorLocalein interfaceCsvConverter- Parameters:
errorLocale- Locale for error messages. Ifnull, the default locale is used.
-
setType
public void setType(java.lang.Class<?> type)
Description copied from interface:CsvConverterSets the class of the type of the data being processed.- Specified by:
setTypein interfaceCsvConverter- Parameters:
type- The type of the data being processed
-
setLocale
public void setLocale(java.lang.String locale)
Description copied from interface:CsvConverterIf not null or empty, specifies the locale used for converting locale-specific data types for reading.- Specified by:
setLocalein interfaceCsvConverter- Parameters:
locale- The name of the locale for locale-sensitive data
-
setWriteLocale
public void setWriteLocale(java.lang.String writeLocale)
Description copied from interface:CsvConverterIf not null or empty, specifies the locale used for converting locale-specific data types for writing.- Specified by:
setWriteLocalein interfaceCsvConverter- Parameters:
writeLocale- The name of the locale for locale-sensitive data
-
-