Package com.opencsv.bean
Class HeaderColumnNameTranslateMappingStrategy<T>
- java.lang.Object
-
- com.opencsv.bean.AbstractMappingStrategy<java.lang.String,java.lang.String,ComplexFieldMapEntry<java.lang.String,java.lang.String,T>,T>
-
- com.opencsv.bean.HeaderNameBaseMappingStrategy<T>
-
- com.opencsv.bean.HeaderColumnNameTranslateMappingStrategy<T>
-
- Type Parameters:
T
- Class to be mapped.
- All Implemented Interfaces:
MappingStrategy<T>
public class HeaderColumnNameTranslateMappingStrategy<T> extends HeaderNameBaseMappingStrategy<T>
Expands onHeaderColumnNameMappingStrategy
by allowing the user to pass in a map of column names to bean names. This way the fields in the bean do not have to match the fields in the CSV file. This is only for when the user passes in the header names programmatically, and not for annotated beans.
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class com.opencsv.bean.AbstractMappingStrategy
AbstractMappingStrategy.RecursiveType
-
-
Field Summary
Fields Modifier and Type Field Description private java.util.Map<java.lang.String,java.lang.String>
columnMapping
-
Fields inherited from class com.opencsv.bean.HeaderNameBaseMappingStrategy
fieldMap, forceCorrectRecordLength, writeOrder
-
Fields inherited from class com.opencsv.bean.AbstractMappingStrategy
errorLocale, headerIndex, profile, recursiveTypeTree, type
-
-
Constructor Summary
Constructors Constructor Description HeaderColumnNameTranslateMappingStrategy()
Default constructor.HeaderColumnNameTranslateMappingStrategy(boolean forceCorrectRecordLength)
Constructor to allow setting options for header name mapping.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description java.util.Map<java.lang.String,java.lang.String>
getColumnMapping()
Retrieves the column mappings of the strategy.java.lang.String
getColumnName(int col)
Get the column name for a given column position.void
setColumnMapping(java.util.Map<java.lang.String,java.lang.String> columnMapping)
Sets the column mapping to those passed in.-
Methods inherited from class com.opencsv.bean.HeaderNameBaseMappingStrategy
captureHeader, chooseMultivaluedFieldIndexFromHeaderIndex, findField, findHeader, getFieldMap, initializeFieldMap, loadUnadornedFieldMap, setColumnOrderOnWrite, verifyLineLength
-
Methods inherited from class com.opencsv.bean.AbstractMappingStrategy
createBean, determineConverter, filterIgnoredFields, generateHeader, getBindingAnnotations, getType, ignoreFields, indexBean, instantiateCustomConverter, isForbiddenClassForRecursion, loadAnnotatedFieldMap, loadFieldMap, loadRecursiveClasses, partitionFields, populateNewBean, selectAnnotationForProfile, setErrorLocale, setFieldValue, setProfile, setType, transmuteBean
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface com.opencsv.bean.MappingStrategy
isAnnotationDriven
-
-
-
-
Constructor Detail
-
HeaderColumnNameTranslateMappingStrategy
public HeaderColumnNameTranslateMappingStrategy()
Default constructor. Considered stable.
-
HeaderColumnNameTranslateMappingStrategy
public HeaderColumnNameTranslateMappingStrategy(boolean forceCorrectRecordLength)
Constructor to allow setting options for header name mapping. Not considered stable. As new options are introduced for the mapping strategy, they will be introduced here. You are encouraged to useHeaderColumnNameTranslateMappingStrategyBuilder
.- Parameters:
forceCorrectRecordLength
- If set, every record will be shortened or lengthened to match the number of headers- See Also:
HeaderColumnNameTranslateMappingStrategyBuilder
-
-
Method Detail
-
getColumnName
public java.lang.String getColumnName(int col)
Description copied from class:AbstractMappingStrategy
Get the column name for a given column position.- Overrides:
getColumnName
in classAbstractMappingStrategy<java.lang.String,java.lang.String,ComplexFieldMapEntry<java.lang.String,java.lang.String,T>,T>
- Parameters:
col
- Column position.- Returns:
- The column name or null if the position is larger than the header array or there are no headers defined.
-
getColumnMapping
public java.util.Map<java.lang.String,java.lang.String> getColumnMapping()
Retrieves the column mappings of the strategy.- Returns:
- The column mappings of the strategy.
-
setColumnMapping
public void setColumnMapping(java.util.Map<java.lang.String,java.lang.String> columnMapping)
Sets the column mapping to those passed in.- Parameters:
columnMapping
- Source column mapping.
-
-