package com.github.mygreen.supercsv.builder; import org.supercsv.exception.SuperCsvReflectionException; /** * インスタンスを作成する処理のインタフェース * * @param <T> create()メソッドの引数のクラスタイプ。 * @param <R> create()メソッドの戻り値のタイプ。 * * @since 2.0 * @author T.TSUCHIE * */ public interface BeanFactory<T, R> { /** * 引数Tのクラスタイプのインスタンスを返す。 * @param type クラスタイプ。 * @return 作成したクラスのインスタンス。 * @throws NullPointerException {@literal type is null.} * @throws SuperCsvReflectionException インスタンスの作成に失敗した場合 */ R create(T type); }