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

com.github.mygreen.supercsv.validation.CsvFieldError Maven / Gradle / Ivy

Go to download

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

There is a newer version: 2.3
Show newest version
package com.github.mygreen.supercsv.validation;

import java.util.HashMap;
import java.util.Map;

import org.supercsv.cellprocessor.ift.CellProcessor;

/**
 * フィールドに対するエラー情報。
 *
 * @since 2.0
 * @author T.TSUCHIE
 *
 */
public class CsvFieldError extends CsvError {
    
    /** serialVersionUID */
    private static final long serialVersionUID = -7775352881004606689L;
    
    private final boolean processingFailure;
    
    private final String field;
    
    public CsvFieldError(final String objectName, final String field, final boolean processingFailure,
            final String[] codes, final Map variables, final String defaultMessage) {
        super(objectName, codes, variables, defaultMessage);
        
        this.processingFailure = processingFailure;
        this.field = field;
    }
    
    /**
     * {@link CellProcessor}内で発生したエラーかどうか。
     * 

{@link CellProcessor}で例外がスローされると、型変換されず、検証対象のBeanに値が設定されないないため、 * 後から{@link CsvValidator}で値を検証する際に検証をスキップする判定に利用する。 *

* @return trueの場合、{@link CellProcessor}内で発生したエラー。 */ public boolean isProcessingFailure() { return processingFailure; } /** * フィールド名を取得する。 * @return Beanにされたフィールドの名称を返す。 */ public String getField() { return field; } public static final class Builder { private final String objectName; private final String field; private final String[] codes; private boolean processingFailure; private Map variables = new HashMap<>(); private String defaultMessage; public Builder(final String objectName, final String field, final String[] codes) { this.objectName = objectName; this.field = field; this.codes = codes; } public Builder processingFailure(final boolean processingFailure) { this.processingFailure = processingFailure; return this; } public Builder variables(final Map variables) { this.variables.putAll(variables); return this; } public Builder variables(final String key, final Object value) { this.variables.put(key, value); return this; } public Builder defaultMessage(final String defaultMessage) { this.defaultMessage = defaultMessage; return this; } public CsvFieldError build() { return new CsvFieldError(objectName, field, processingFailure, codes, variables, defaultMessage); } } }




© 2015 - 2024 Weber Informatics LLC | Privacy Policy