1 package com.github.mygreen.supercsv.builder;
2
3 import org.supercsv.exception.SuperCsvReflectionException;
4
5 /**
6 * インスタンスを作成する処理のインタフェース
7 *
8 * @param <T> create()メソッドの引数のクラスタイプ。
9 * @param <R> create()メソッドの戻り値のタイプ。
10 *
11 * @since 2.0
12 * @author T.TSUCHIE
13 *
14 */
15 public interface BeanFactory<T, R> {
16
17 /**
18 * 引数Tのクラスタイプのインスタンスを返す。
19 * @param type クラスタイプ。
20 * @return 作成したクラスのインスタンス。
21 * @throws NullPointerException {@literal type is null.}
22 * @throws SuperCsvReflectionException インスタンスの作成に失敗した場合
23 */
24 R create(T type);
25 }