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, java.lang.String[] 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)java.lang.StringgetFieldName()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(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.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, java.lang.String[] 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.
-
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
-
getFieldName
public java.lang.String 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
-
-