SqlDateCellConverterFactory.java

  1. package com.gh.mygreen.xlsmapper.cellconverter.impl;

  2. import java.util.Date;

  3. import com.gh.mygreen.xlsmapper.Configuration;
  4. import com.gh.mygreen.xlsmapper.cellconverter.CellConverter;
  5. import com.gh.mygreen.xlsmapper.fieldaccessor.FieldAccessor;

  6. /**
  7.  * {@link java.sql.Date}を処理する{@link CellConverter}を作成するためのファクトリクラス。
  8.  *
  9.  * @version 2.0
  10.  * @author T.TSUCHIE
  11.  *
  12.  */
  13. public class SqlDateCellConverterFactory extends AbstractDateCellConverterFactory<java.sql.Date> {

  14.     @Override
  15.     public SqlDateCellConverter create(final FieldAccessor field, final Configuration config) {
  16.        
  17.         final SqlDateCellConverter cellConverter = new SqlDateCellConverter(field, config, this);
  18.         setupCellConverter(cellConverter, field, config);
  19.        
  20.         return cellConverter;
  21.        
  22.     }
  23.    
  24.     @Override
  25.     protected java.sql.Date convertTypeValue(final Date date) {
  26.         return new java.sql.Date(date.getTime());
  27.     }
  28.    
  29.     /**
  30.      * {@inheritDoc}
  31.      * <p>{@code yyyy-MM-dd}の値を返す。</p>
  32.      */
  33.     @Override
  34.     protected String getDefaultJavaPattern() {
  35.         return "yyyy-MM-dd";
  36.     }
  37.    
  38.     /**
  39.      * {@inheritDoc}
  40.      * <p>{@code yyyy-mm-dd}の値を返す。</p>
  41.      */
  42.     @Override
  43.     protected String getDefaultExcelPattern() {
  44.         return "yyyy-mm-dd";
  45.     }
  46.    
  47.     public class SqlDateCellConverter extends AbstractDateCellConverter<java.sql.Date> {
  48.        
  49.         private final SqlDateCellConverterFactory convererFactory;
  50.        
  51.         private SqlDateCellConverter(final FieldAccessor field, final Configuration config,
  52.                 final SqlDateCellConverterFactory convererFactory) {
  53.             super(field, config);
  54.             this.convererFactory = convererFactory;
  55.         }
  56.        
  57.         @Override
  58.         protected java.sql.Date convertTypeValue(final Date value) {
  59.             return convererFactory.convertTypeValue(value);
  60.         }
  61.        
  62.     }
  63.    
  64. }