View Javadoc
1   package com.github.mygreen.supercsv.builder;
2   
3   import com.github.mygreen.supercsv.annotation.format.CsvFormat;
4   import com.github.mygreen.supercsv.cellprocessor.format.TextFormatter;
5   import com.github.mygreen.supercsv.exception.SuperCsvInvalidAnnotationException;
6   import com.github.mygreen.supercsv.localization.MessageBuilder;
7   
8   /**
9    * 不明なタイプの時の汎用のビルダクラス。
10   * <p>アノテーション{@link CsvFormat}の指定は必須。</p>
11   * 
12   * @since 2.0
13   * @author T.TSUCHIE
14   *
15   */
16  public class GeneralProcessorBuilder<T> extends AbstractProcessorBuilder<T> {
17      
18      /**
19       * {@inheritDoc}
20       * @throws SuperCsvInvalidAnnotationException 必ず例外をスローする。
21       */
22      @Override
23      protected TextFormatter<T> getDefaultFormatter(final FieldAccessor field, final Configuration config) {
24          
25          throw new SuperCsvInvalidAnnotationException(MessageBuilder.create("anno.required")
26                  .var("property", field.getNameWithClass())
27                  .varWithAnno("anno", CsvFormat.class)
28                  .format());
29      }
30      
31  }