com.github.mygreen.supercsv.cellprocessor.format.TextParser Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of super-csv-annotation Show documentation
Show all versions of super-csv-annotation Show documentation
CSVのJavaライブラリであるSuperCSVに、アノテーション機能を追加したライブラリです。
package com.github.mygreen.supercsv.cellprocessor.format;
import java.util.Collections;
import java.util.Map;
import java.util.Optional;
/**
* 文字列をパースしてオブジェクトに変換するインタフェース。
*
* @since 2.0
* @param オブジェクトのタイプ
* @author T.TSUCHIE
*
*/
@FunctionalInterface
public interface TextParser {
/**
* 書式を取得します。
* @return 書式を持たない場合は空を返します。
*/
default Optional getPattern() {
return Optional.empty();
}
/**
* パース時のエラーメッセージ中の変数を取得します。
* @return
*/
default Map getMessageVariables() {
return Collections.emptyMap();
}
/**
* パース時のエラーメッセージを取得します。
* @return メッセージが内場合は空を返します。
*/
default Optional getValidationMessage() {
return Optional.empty();
}
/**
* 文字列をパースして、オブジェクトに変換する。
* 実装する際には、API経由などでパースした際に発生した例外は、{@link TextParseException}でラップするしてください。
*
{@link TextParseException}でラップすると、{@link ParseProcessor}でエラーオブジェクトに変換されます。
*
*
* @param text パース対象の文字列。
* @return 変換された値。
* @throws TextParseException パースに失敗した際にスローされます。
*/
T parse(String text);
}