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 boolean
private Boolean
private final Class<?>
private final Object
private NormalizedString
private Class
private int
private final Class
private final boolean
private boolean
private final Method
private final AnnotatedElement
private 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 TypeMethodDescriptionboolean
Queries whether this field mapping can be applied over a given object instance.private void
determineFieldMapping
(HeaderTransformer transformer, NormalizedString[] headers) boolean
Returns 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 fieldint
getIndex()
Returns the column index against which this field is mapped.Returns theField
mapped to a columnint
hashCode()
boolean
Returnstrue
if the field is mapped to a column name, otherwisefalse
boolean
Returnstrue
if the field is mapped to a column index, otherwisefalse
Reads the value accessible by this field mapping from a given objectprivate Object
private void
void
setFieldName
(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.void
setFieldName
(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.void
setIndex
(int index) Defines the column index against which this field is mapped, overriding any current position derived from annotations.toString()
void
Writes 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
- aField
orMethod
annotated withParsed
property
- the property descriptor of this field, if any. If this bean does not have getters/setters, it will be accessed directly.transformer
- an optionalHeaderTransformer
to modify header names/positions in attributes ofNested
classes.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()Returnstrue
if the field is mapped to a column index, otherwisefalse
- Returns:
true
if the field is mapped to a column index, otherwisefalse
-
isMappedToField
public boolean isMappedToField()Returnstrue
if the field is mapped to a column name, otherwisefalse
- Returns:
true
if 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
null
if there's no such association.
-
getTarget
Returns theField
mapped to a column- Returns:
- the
Field
mapped 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:
true
if 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
-