Class FieldMapping
java.lang.Object
com.univocity.parsers.annotations.helpers.FieldMapping
A helper class with information about the location of an field annotated with
Parsed in a record.-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate booleanprivate Booleanprivate final Class<?> private final Objectprivate NormalizedStringprivate Classprivate intprivate final Classprivate final booleanprivate booleanprivate final Methodprivate final AnnotatedElementprivate final Method -
Constructor Summary
ConstructorsConstructorDescriptionFieldMapping(Class<?> beanClass, AnnotatedElement target, PropertyWrapper property, HeaderTransformer transformer, NormalizedString[] headers) Creates the mapping and identifies how it is mapped (by name or by index) -
Method Summary
Modifier and TypeMethodDescriptionbooleanQueries whether this field mapping can be applied over a given object instance.private voiddetermineFieldMapping(HeaderTransformer transformer, NormalizedString[] headers) booleanReturns the column name against which this field is mapped.Class<?> Returns the parent class that contains the mapped field.Class<?> Returns the type of the mapped fieldintgetIndex()Returns the column index against which this field is mapped.Returns theFieldmapped to a columninthashCode()booleanReturnstrueif the field is mapped to a column name, otherwisefalsebooleanReturnstrueif the field is mapped to a column index, otherwisefalseReads the value accessible by this field mapping from a given objectprivate Objectprivate voidvoidsetFieldName(NormalizedString fieldName) Defines the column name against which this field is mapped, overriding any current name derived from annotations or from the attribute name itself.voidsetFieldName(String fieldName) Defines the column name against which this field is mapped, overriding any current name derived from annotations or from the attribute name itself.voidsetIndex(int index) Defines the column index against which this field is mapped, overriding any current position derived from annotations.toString()voidWrites a value to the field of a given object instance, whose field is accessible through this field mapping.
-
Field Details
-
parentClass
-
target
-
index
private int index -
fieldName
-
beanClass
-
readMethod
-
writeMethod
-
accessible
private boolean accessible -
primitive
private final boolean primitive -
defaultPrimitiveValue
-
applyDefault
-
fieldType
-
primitiveNumber
private boolean primitiveNumber
-
-
Constructor Details
-
FieldMapping
public FieldMapping(Class<?> beanClass, AnnotatedElement target, PropertyWrapper property, HeaderTransformer transformer, NormalizedString[] headers) Creates the mapping and identifies how it is mapped (by name or by index)- Parameters:
beanClass- the class that contains a the given field.target- aFieldorMethodannotated withParsedproperty- the property descriptor of this field, if any. If this bean does not have getters/setters, it will be accessed directly.transformer- an optionalHeaderTransformerto modify header names/positions in attributes ofNestedclasses.headers- list of headers parsed from the input or manually set withCommonSettings.setHeaders(String...)
-
-
Method Details
-
determineFieldMapping
-
equals
-
hashCode
public int hashCode() -
isMappedToIndex
public boolean isMappedToIndex()Returnstrueif the field is mapped to a column index, otherwisefalse- Returns:
trueif the field is mapped to a column index, otherwisefalse
-
isMappedToField
public boolean isMappedToField()Returnstrueif the field is mapped to a column name, otherwisefalse- Returns:
trueif the field is mapped to a column name, otherwisefalse
-
getIndex
public int getIndex()Returns the column index against which this field is mapped.- Returns:
- the column index associated with this field, or -1 if there's no such association.
-
setIndex
public void setIndex(int index) Defines the column index against which this field is mapped, overriding any current position derived from annotations.- Parameters:
index- the column index associated with this field
-
setFieldName
Defines the column name against which this field is mapped, overriding any current name derived from annotations or from the attribute name itself.- Parameters:
fieldName- the column name associated with this field
-
setFieldName
Defines the column name against which this field is mapped, overriding any current name derived from annotations or from the attribute name itself.- Parameters:
fieldName- the column name associated with this field
-
getFieldName
Returns the column name against which this field is mapped.- Returns:
- the column name associated with this field, or
nullif there's no such association.
-
getTarget
Returns theFieldmapped to a column- Returns:
- the
Fieldmapped to a column
-
setAccessible
private void setAccessible() -
getFieldParent
Returns the parent class that contains the mapped field.- Returns:
- the field's parent class
-
getFieldType
Returns the type of the mapped field- Returns:
- the field type.
-
canWrite
Queries whether this field mapping can be applied over a given object instance.- Parameters:
instance- the object whose type will be verified in order to identify if it contains the mapped field- Returns:
trueif the given instance contains the field/accessor method and can use this field mapping to modify its internal state; otherwisefalse
-
read
Reads the value accessible by this field mapping from a given object- Parameters:
instance- the object whose field, mapped by this field mapping, will be read- Returns:
- the value contained in the given instance's field
-
read
-
write
Writes a value to the field of a given object instance, whose field is accessible through this field mapping.- Parameters:
instance- the object whose field will be setvalue- the value to set on the given object's field.
-
toString
-