Class FieldMapping
- java.lang.Object
-
- com.univocity.parsers.annotations.helpers.FieldMapping
-
public class FieldMapping extends java.lang.ObjectA helper class with information about the location of an field annotated withParsedin a record.- Author:
- Univocity Software Pty Ltd - parsers@univocity.com
-
-
Constructor Summary
Constructors Constructor Description FieldMapping(java.lang.Class<?> beanClass, java.lang.reflect.AnnotatedElement target, PropertyWrapper property, HeaderTransformer transformer, NormalizedString[] headers)Creates the mapping and identifies how it is mapped (by name or by index)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description booleancanWrite(java.lang.Object instance)Queries whether this field mapping can be applied over a given object instance.booleanequals(java.lang.Object o)NormalizedStringgetFieldName()Returns the column name against which this field is mapped.java.lang.Class<?>getFieldParent()Returns the parent class that contains the mapped field.java.lang.Class<?>getFieldType()Returns the type of the mapped fieldintgetIndex()Returns the column index against which this field is mapped.java.lang.reflect.AnnotatedElementgetTarget()Returns theFieldmapped to a columninthashCode()booleanisMappedToField()Returnstrueif the field is mapped to a column name, otherwisefalsebooleanisMappedToIndex()Returnstrueif the field is mapped to a column index, otherwisefalsejava.lang.Objectread(java.lang.Object instance)Reads the value accessible by this field mapping from a given objectvoidsetFieldName(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(java.lang.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.java.lang.StringtoString()voidwrite(java.lang.Object instance, java.lang.Object value)Writes a value to the field of a given object instance, whose field is accessible through this field mapping.
-
-
-
Constructor Detail
-
FieldMapping
public FieldMapping(java.lang.Class<?> beanClass, java.lang.reflect.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 Detail
-
equals
public boolean equals(java.lang.Object o)
- Overrides:
equalsin classjava.lang.Object
-
hashCode
public int hashCode()
- Overrides:
hashCodein classjava.lang.Object
-
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
public void setFieldName(java.lang.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.- Parameters:
fieldName- the column name associated with this field
-
setFieldName
public 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.- Parameters:
fieldName- the column name associated with this field
-
getFieldName
public NormalizedString 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
public java.lang.reflect.AnnotatedElement getTarget()
Returns theFieldmapped to a column- Returns:
- the
Fieldmapped to a column
-
getFieldParent
public java.lang.Class<?> getFieldParent()
Returns the parent class that contains the mapped field.- Returns:
- the field's parent class
-
getFieldType
public java.lang.Class<?> getFieldType()
Returns the type of the mapped field- Returns:
- the field type.
-
canWrite
public boolean canWrite(java.lang.Object instance)
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
public java.lang.Object read(java.lang.Object instance)
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
-
write
public void write(java.lang.Object instance, java.lang.Object value)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
public java.lang.String toString()
- Overrides:
toStringin classjava.lang.Object
-
-