All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.github.mygreen.supercsv.cellprocessor.format.TextParser Maven / Gradle / Ivy

Go to download

CSVのJavaライブラリであるSuperCSVに、アノテーション機能を追加したライブラリです。

There is a newer version: 2.3
Show newest version
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); }




© 2015 - 2024 Weber Informatics LLC | Privacy Policy