InternalFieldErrorBuilder.java
- package com.gh.mygreen.xlsmapper.validation;
- import java.util.Map;
- import java.util.Optional;
- import com.gh.mygreen.xlsmapper.util.CellPosition;
- /**
- * {@link SheetBindingErrors}経由で呼び出される{@link FieldError}のビルダクラス。
- * <p>{@link #buildAndAddError()}でチェインでより使い安くする。</p>
- *
- * @since 2.0
- * @author T.TSUCHIE
- *
- */
- public class InternalFieldErrorBuilder extends FieldErrorBuilder {
-
- private final SheetBindingErrors<?> errors;
-
- /**
- * ビルダのインスタンスを作成します
- * @param errors エラー情報
- * @param objectName オブジェクト名
- * @param field フィールド名。ネストしている場合は、親のパスを付与した形式(e.g. person.name)で指定します。
- * @param codes メッセージコード。複数指定可能で、先頭にあるものほど優先度が高い。
- */
- public InternalFieldErrorBuilder(final SheetBindingErrors<?> errors, final String objectName, final String field, final String[] codes) {
- super(objectName, field, codes);
- this.errors = errors;
- }
-
- @Override
- public InternalFieldErrorBuilder rejectedValue(final Object rejectedValue) {
- super.rejectedValue(rejectedValue);
- return this;
- }
-
- @Override
- public InternalFieldErrorBuilder conversionFailure(final boolean conversionFailure) {
- super.conversionFailure(conversionFailure);
- return this;
- }
-
- @Override
- public InternalFieldErrorBuilder variables(final Map<String, Object> variables) {
- super.variables(variables);
- return this;
- }
-
- @Override
- public InternalFieldErrorBuilder variables(final String key, final Object value) {
- super.variables(key, value);
- return this;
- }
-
- @Override
- public InternalFieldErrorBuilder defaultMessage(final String defaultMessage) {
- super.defaultMessage(defaultMessage);
- return this;
- }
-
- @Override
- public InternalFieldErrorBuilder sheetName(final String sheetName) {
- super.sheetName(sheetName);
- return this;
- }
-
- @Override
- public InternalFieldErrorBuilder label(final String label) {
- super.label(label);
- return this;
- }
-
- @Override
- public InternalFieldErrorBuilder label(final Optional<String> label) {
- super.label(label);
- return this;
- }
-
- @Override
- public InternalFieldErrorBuilder address(final CellPosition address) {
- super.address(address);
- return this;
- }
-
- @Override
- public InternalFieldErrorBuilder address(final Optional<CellPosition> address) {
- super.address(address);
- return this;
- }
-
- /**
- * {@link FieldError}のインスタンスを組み立て、{@link SheetBindingErrors}にエラーとして追加します。
- * @return {@link SheetBindingErrors}のインスタンス
- */
- public SheetBindingErrors<?> buildAndAddError() {
-
- final FieldError error = super.build();
-
- errors.addError(error);
-
- return errors;
- }
- }