Package com.opencsv.bean
Class AbstractCsvConverter
- java.lang.Object
-
- com.opencsv.bean.AbstractCsvConverter
-
- All Implemented Interfaces:
CsvConverter
- Direct Known Subclasses:
ConverterDate
,ConverterNumber
,ConverterPrimitiveTypes
public abstract class AbstractCsvConverter extends java.lang.Object implements CsvConverter
This implementation ofCsvConverter
provides a reasonable default forCsvConverter.convertToWrite(java.lang.Object)
as well as a couple of common fields.- Since:
- 4.2
- Author:
- Andrew Rucker Jones
-
-
Field Summary
Fields Modifier and Type Field Description protected java.util.Locale
errorLocale
The locale to be used for error messages.protected java.util.Locale
locale
The locale to be used when converting for reading, if a locale is relevant.protected java.lang.Class<?>
type
The type to which (on reading) or from which (on writing) conversion is being performed.protected java.util.Locale
writeLocale
The locale to be used when converting for writing, if a locale is relevant.
-
Constructor Summary
Constructors Constructor Description AbstractCsvConverter()
Default nullary constructor, so derived classes aren't forced to create a constructor identical to this one.AbstractCsvConverter(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.String
convertToWrite(java.lang.Object value)
This implementation simply callstoString()
onvalue
.void
setErrorLocale(java.util.Locale errorLocale)
Sets the locale for all error messages.void
setLocale(java.lang.String locale)
If not null or empty, specifies the locale used for converting locale-specific data types for reading.void
setType(java.lang.Class<?> type)
Sets the class of the type of the data being processed.void
setWriteLocale(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
public AbstractCsvConverter()
Default nullary constructor, so derived classes aren't forced to create a constructor identical to this one.- Since:
- 4.3
-
AbstractCsvConverter
public 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 CsvDataTypeMismatchException
This 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:
convertToWrite
in interfaceCsvConverter
- 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
- This implementation doesn't, but subclasses do, so it must be declared
-
setErrorLocale
public void setErrorLocale(java.util.Locale errorLocale)
Description copied from interface:CsvConverter
Sets the locale for all error messages.- Specified by:
setErrorLocale
in 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:CsvConverter
Sets the class of the type of the data being processed.- Specified by:
setType
in interfaceCsvConverter
- Parameters:
type
- The type of the data being processed
-
setLocale
public void setLocale(java.lang.String locale)
Description copied from interface:CsvConverter
If not null or empty, specifies the locale used for converting locale-specific data types for reading.- Specified by:
setLocale
in interfaceCsvConverter
- Parameters:
locale
- The name of the locale for locale-sensitive data
-
setWriteLocale
public void setWriteLocale(java.lang.String writeLocale)
Description copied from interface:CsvConverter
If not null or empty, specifies the locale used for converting locale-specific data types for writing.- Specified by:
setWriteLocale
in interfaceCsvConverter
- Parameters:
writeLocale
- The name of the locale for locale-sensitive data
-
-