package com.gh.mygreen.xlsmapper.cellconvert; import com.gh.mygreen.xlsmapper.annotation.XlsArrayConverter; /** * {@link XlsArrayConverter}で指定する、配列やリストの要素をオブジェクトに変換するためのクラス。 * * @since 1.1 * @author T.TSUCHIE * @param <T> 変換対象のクラスタイプ * */ public interface ItemConverter<T> { /** * 文字列を指定したクラス型に変換する。 * * <p>文字列の値がnullまたは空文字の場合、プリミティブ型の場合ゼロなどのデフォルト値を返す。 * <br>オブジェクト型の場合はnullを返す。 * </p> * * @since 1.1 * @param text 変換対象の文字列 * @param targetClass 変換後のクラスタイプ * @return 変換した値。 * @throws IllegalArgumentException targetClass is null. * @throws ConversionException 変換に失敗した場合にスローされます。 * また、引数targetClassが対応していないクラス型の場合にすろーされます。 */ T convertToObject(String text, Class<T> targetClass) throws ConversionException; /** * 任意のオブジェクトを文字列に変換する。 * * @since 1.1 * @param value 変換対象のオブジェクト。 * @return 変換した文字列 */ String convertToString(T value); }