Annotation Type Parsed
-
@Retention(RUNTIME) @Inherited @Target({FIELD,METHOD,ANNOTATION_TYPE}) public @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 existingConversion
implementations in packagecom.univocity.parsers.conversions
.Commonly used for java beans processed using
BeanProcessor
and/orBeanWriterProcessor
Implementation note: All annotations in @Parsed fields are processed by
AnnotationHelper
- See Also:
Conversion
,Conversions
,BeanProcessor
,BeanWriterProcessor
,AnnotationHelper
-
-
Optional Element Summary
Optional Elements Modifier and Type Optional Element Description boolean
applyDefaultConversion
Flag to indicate whether the parsed field should be converted automatically based on the field type.java.lang.String
defaultNullRead
The default value to assign to this field in the parsed value is nulljava.lang.String
defaultNullWrite
The default value to read from this field if it is null.java.lang.String[]
field
The possible field names of a record.int
index
Field position in a parsed record
-
-
-
Element Detail
-
field
java.lang.String[] field
The 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:
- {}
-
-
-
defaultNullRead
java.lang.String defaultNullRead
The 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
java.lang.String defaultNullWrite
The 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 applyDefaultConversion
Flag 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
-
-