T
- the annotated class type.public class BeanConversionProcessor<T> extends DefaultConversionProcessor
Processor
and RowWriterProcessor
implementations that support java beans annotated with the annotations provided in
com.univocity.parsers.annotations
.Processor
,
RowWriterProcessor
Modifier and Type | Field and Description |
---|---|
protected boolean |
initialized |
protected MethodFilter |
methodFilter |
protected Set<FieldMapping> |
parsedFields |
protected HeaderTransformer |
transformer |
conversions
Constructor and Description |
---|
BeanConversionProcessor(Class<T> beanType)
Deprecated.
Use the
BeanConversionProcessor(Class, MethodFilter) constructor instead. |
BeanConversionProcessor(Class<T> beanType,
MethodFilter methodFilter)
Initializes the BeanConversionProcessor with the annotated bean class
|
Modifier and Type | Method and Description |
---|---|
protected void |
addConversion(Conversion conversion,
FieldMapping mapping)
Associates a conversion to a field of the java bean class.
|
protected FieldConversionMapping |
cloneConversions()
Creates a copy of the manually defined conversions to be applied over any columns.
|
T |
createBean(String[] row,
Context context)
Converts a record with values extracted from the parser into a java bean instance.
|
Class<T> |
getBeanClass()
Returns the class of the annotated java bean instances that will be manipulated by this processor.
|
ColumnMapper |
getColumnMapper()
Returns a mapper that allows users to manually define mappings from
attributes/methods of a given class to columns to be parsed or written.
|
void |
initialize()
Identifies and extracts fields annotated with the
Parsed annotation |
protected void |
initialize(NormalizedString[] headers)
Identifies and extracts fields annotated with the
Parsed annotation |
protected void |
initialize(String[] headers)
Identifies and extracts fields annotated with the
Parsed annotation |
boolean |
isStrictHeaderValidationEnabled()
Returns a flag indicating whether all headers declared in the annotated class must be present in the input.
|
protected boolean |
processField(FieldMapping field)
Determines whether or not an annotated field should be processed.
|
Object[] |
reverseConversions(T bean,
NormalizedString[] headers,
int[] indexesToWrite)
Converts a java bean instance into a sequence of values for writing.
|
void |
setColumnMapper(ColumnMapper columnMapper)
Copies the given column mappings over to this processor.
|
void |
setStrictHeaderValidationEnabled(boolean strictHeaderValidationEnabled)
Defines whether all headers declared in the annotated class must be present in the input.
|
applyConversions, convertAll, convertFields, convertIndexes, convertType, handleConversionError, initializeConversions, reverseConversions, toDataProcessingException
protected final Set<FieldMapping> parsedFields
protected boolean initialized
protected final HeaderTransformer transformer
protected final MethodFilter methodFilter
@Deprecated public BeanConversionProcessor(Class<T> beanType)
BeanConversionProcessor(Class, MethodFilter)
constructor instead.beanType
- the class annotated with one or more of the annotations provided in com.univocity.parsers.annotations
.public BeanConversionProcessor(Class<T> beanType, MethodFilter methodFilter)
beanType
- the class annotated with one or more of the annotations provided in com.univocity.parsers.annotations
.methodFilter
- filter to apply over annotated methods when the processor is reading data from beans (to write values to an output)
or writing values into beans (when parsing). It is used to choose either a "get" or a "set"
method annotated with Parsed
, when both methods target the same field.public boolean isStrictHeaderValidationEnabled()
public final void initialize()
Parsed
annotationpublic final ColumnMapper getColumnMapper()
Parsed
nor
Nested
. Any mappings defined with the column mapper will take
precedence over these annotations.protected final void initialize(String[] headers)
Parsed
annotationheaders
- headers parsed from the input.protected final void initialize(NormalizedString[] headers)
Parsed
annotationheaders
- headers parsed from the input.public void setStrictHeaderValidationEnabled(boolean strictHeaderValidationEnabled)
strictHeaderValidationEnabled
- flag indicating whether strict validation of headers is enabled.protected FieldConversionMapping cloneConversions()
protected boolean processField(FieldMapping field)
field
- the field to be processedtrue
if the given field should be processed, otherwise false
.protected void addConversion(Conversion conversion, FieldMapping mapping)
conversion
- The conversion object that must be executed against the given fieldmapping
- the helper object that contains information about how a field is mapped.public T createBean(String[] row, Context context)
row
- The values extracted from the parsercontext
- The current state of the parsing processpublic final Object[] reverseConversions(T bean, NormalizedString[] headers, int[] indexesToWrite)
bean
- an instance of the type defined in this class constructor.headers
- All field names used to produce records in a given destination. May be null if no headers have been defined in
CommonSettings.getHeaders()
indexesToWrite
- The indexes of the headers that are actually being written. May be null if no fields have been selected using
CommonSettings.selectFields(String...)
or CommonSettings.selectIndexes(Integer...)
public Class<T> getBeanClass()
public void setColumnMapper(ColumnMapper columnMapper)
columnMapper
- the column mappings to useCopyright © 2021 Univocity Software Pty Ltd. All rights reserved.