Package au.com.bytecode.opencsv.bean
Class HeaderColumnNameMappingStrategy<T>
- java.lang.Object
-
- au.com.bytecode.opencsv.bean.HeaderColumnNameMappingStrategy<T>
-
- All Implemented Interfaces:
MappingStrategy<T>
- Direct Known Subclasses:
ColumnPositionMappingStrategy
,HeaderColumnNameTranslateMappingStrategy
public class HeaderColumnNameMappingStrategy<T> extends java.lang.Object implements MappingStrategy<T>
Copyright 2007 Kyle Miller. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
-
-
Field Summary
Fields Modifier and Type Field Description protected java.util.Map<java.lang.String,java.beans.PropertyDescriptor>
descriptorMap
protected java.lang.String[]
header
protected java.lang.Class<T>
type
-
Constructor Summary
Constructors Constructor Description HeaderColumnNameMappingStrategy()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
captureHeader(CSVReader reader)
Implementation of this method can grab the header line before parsing begins to use to map columns to bean properties.T
createBean()
java.beans.PropertyDescriptor
findDescriptor(int col)
Implementation will have to return a property descriptor from a bean based on the current column.protected java.beans.PropertyDescriptor
findDescriptor(java.lang.String name)
protected java.lang.String
getColumnName(int col)
java.lang.Class<T>
getType()
protected java.util.Map<java.lang.String,java.beans.PropertyDescriptor>
loadDescriptorMap(java.lang.Class<T> cls)
protected boolean
matches(java.lang.String name, java.beans.PropertyDescriptor desc)
void
setType(java.lang.Class<T> type)
-
-
-
Field Detail
-
header
protected java.lang.String[] header
-
descriptorMap
protected java.util.Map<java.lang.String,java.beans.PropertyDescriptor> descriptorMap
-
type
protected java.lang.Class<T> type
-
-
Method Detail
-
captureHeader
public void captureHeader(CSVReader reader) throws java.io.IOException
Description copied from interface:MappingStrategy
Implementation of this method can grab the header line before parsing begins to use to map columns to bean properties.- Specified by:
captureHeader
in interfaceMappingStrategy<T>
- Parameters:
reader
- the CSVReader to use for header parsing- Throws:
java.io.IOException
- if parsing fails
-
findDescriptor
public java.beans.PropertyDescriptor findDescriptor(int col) throws java.beans.IntrospectionException
Description copied from interface:MappingStrategy
Implementation will have to return a property descriptor from a bean based on the current column.- Specified by:
findDescriptor
in interfaceMappingStrategy<T>
- Parameters:
col
- the column to find the description for- Returns:
- the related PropertyDescriptor
- Throws:
java.beans.IntrospectionException
-
getColumnName
protected java.lang.String getColumnName(int col)
-
findDescriptor
protected java.beans.PropertyDescriptor findDescriptor(java.lang.String name) throws java.beans.IntrospectionException
- Throws:
java.beans.IntrospectionException
-
matches
protected boolean matches(java.lang.String name, java.beans.PropertyDescriptor desc)
-
loadDescriptorMap
protected java.util.Map<java.lang.String,java.beans.PropertyDescriptor> loadDescriptorMap(java.lang.Class<T> cls) throws java.beans.IntrospectionException
- Throws:
java.beans.IntrospectionException
-
createBean
public T createBean() throws java.lang.InstantiationException, java.lang.IllegalAccessException
- Specified by:
createBean
in interfaceMappingStrategy<T>
- Throws:
java.lang.InstantiationException
java.lang.IllegalAccessException
-
getType
public java.lang.Class<T> getType()
-
setType
public void setType(java.lang.Class<T> type)
-
-