Package com.opencsv.bean
Class ConverterNumber
java.lang.Object
com.opencsv.bean.AbstractCsvConverter
com.opencsv.bean.ConverterNumber
- All Implemented Interfaces:
CsvConverter
This converter class is used in combination with
CsvNumber
, that is,
when number inputs and outputs should be formatted.- Since:
- 4.2
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate final UnaryOperator
<Number> private final DecimalFormat
private final DecimalFormat
Fields inherited from class com.opencsv.bean.AbstractCsvConverter
errorLocale, locale, type, writeLocale
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionconvertToRead
(String value) Method for converting from a string to the proper data type of the destination field.convertToWrite
(Object value) Formats the number in question according to the pattern that has been provided.private DecimalFormat
createDecimalFormat
(String format, Locale locale) Methods inherited from class com.opencsv.bean.AbstractCsvConverter
setErrorLocale, setLocale, setType, setWriteLocale
-
Field Details
-
readFormatter
-
writeFormatter
-
readConversionFunction
-
-
Constructor Details
-
ConverterNumber
public ConverterNumber(Class<?> type, String locale, String writeLocale, Locale errorLocale, String readFormat, String writeFormat) throws CsvBadConverterException - Parameters:
type
- The class of the type of the data being processedlocale
- If not null or empty, specifies the locale used for converting locale-specific data types for readingwriteLocale
- If not null or empty, specifies the locale used for converting locale-specific data types for writingerrorLocale
- The locale to use for error messagesreadFormat
- The string to use for parsing the number.writeFormat
- The string to use for formatting the number.- Throws:
CsvBadConverterException
- If the information given to initialize the converter are inconsistent (e.g. the annotationCsvNumber
has been applied to a non-Number
type.- See Also:
-
-
Method Details
-
createDecimalFormat
-
convertToRead
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 benull
, empty or blank according toStringUtils.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
Formats the number in question according to the pattern that has been provided.- Specified by:
convertToWrite
in interfaceCsvConverter
- Overrides:
convertToWrite
in classAbstractCsvConverter
- Parameters:
value
- The contents of the field currently being processed from the bean to be written. Can benull
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
isnull
-