Class 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  
    • 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)  
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • 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
    • Constructor Detail

      • HeaderColumnNameMappingStrategy

        public HeaderColumnNameMappingStrategy()
    • 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 interface MappingStrategy<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 interface MappingStrategy<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 interface MappingStrategy<T>
        Throws:
        java.lang.InstantiationException
        java.lang.IllegalAccessException
      • getType

        public java.lang.Class<T> getType()
      • setType

        public void setType​(java.lang.Class<T> type)