Annotation Interface Parsed
Indicates the field is parsed. If the annotated field type is not a String, it will be automatically converted using one
of the existing
Conversion
implementations in package com.univocity.parsers.conversions
.
Commonly used for java beans processed using BeanProcessor
and/or BeanWriterProcessor
Implementation note: All annotations in @Parsed fields are processed by AnnotationHelper
-
Optional Element Summary
Optional ElementsModifier and TypeOptional ElementDescriptionboolean
Flag to indicate whether the parsed field should be converted automatically based on the field type.The default value to assign to this field in the parsed value is nullThe default value to read from this field if it is null.String[]
The possible field names of a record.int
Field position in a parsed record
-
Element Details
-
field
String[] fieldThe possible field names of a record. If multiple names are provided, the parser/writer will attempt to match the given names against the headers provided (i.e. headers found in the input when parsing withCommonParserSettings.isHeaderExtractionEnabled()
, or manually set usingCommonSettings.setHeaders(String...)
for writing or parsing)- Returns:
- the possible field names (optional if the index is provided)
- Default:
- {}
-
index
int indexField position in a parsed record- Returns:
- the position of this field (optional if the field name is provided)
- Default:
- -1
-
defaultNullRead
String defaultNullReadThe default value to assign to this field in the parsed value is nullThe String literal "null" will be interpreted as a regular null.
Use "'null"' if you want the default value to be the string "null"
this value will have different effects depending on the field type:
- on fields of type
Date
orCalendar
: if the null value is "now", the result of new Date() or Calendar.getInstance() will be used. - on numeric fields (primitives, wrappers and
BigDecimal
andBigInteger
): if the null value contains a number, e.g. "50.01", it will be parsed and assigned to the field. - on boolean and Boolean fields: if the null value contains a String, the result of Boolean.valueOf(defaultNullRead()) will assigned to the field.
- on char and Character fields: if the null value contains a String, the result of defaultNullRead().charAt(0) will assigned to the field. An exception will be thrown if the length of this String is different than 1
- Returns:
- the default String to return when the parsed value is null
- Default:
- "null"
- on fields of type
-
defaultNullWrite
String defaultNullWriteThe default value to read from this field if it is null. Used for writing to an output byBeanWriterProcessor
.The String literal "null" will be interpreted as a regular
null
.Use "'null"' if you want the default value to be the string
"null"
- Returns:
- default String to write when the input is null.
- Default:
- "null"
-
applyDefaultConversion
boolean applyDefaultConversionFlag to indicate whether the parsed field should be converted automatically based on the field type. For example, if the annotated field is aBigDecimal
, thenBigDecimalConversion
will be used to convert Strings to BigDecimal when reading and BigDecimal to String when writing. You may want to disable the default field conversion when using custom conversions throughDefaultConversionProcessor.convertFields(Conversion...)
,DefaultConversionProcessor.convertIndexes(Conversion...)
orDefaultConversionProcessor.convertAll(Conversion...)
.- Returns:
- flag indicating whether the default conversion, based on the field type, is to be applied for this field.
- Default:
- true
-