MultipleSheetBindingErrors.java
package com.gh.mygreen.xlsmapper.validation;
import java.util.ArrayList;
import java.util.List;
import java.util.Optional;
import com.gh.mygreen.xlsmapper.util.Utils;
/**
* 複数のシートを読み込む場合に、{@link SheetBindingErrors}を格納するクラス。
*
* @version 2.0
* @param <P>
* @author T.TSUCHIE
*
*/
public class MultipleSheetBindingErrors<P> {
private final List<SheetBindingErrors<P>> list = new ArrayList<>();
/**
* マッピング結果を追加する。
* @param bindingErrors 1シート分のマッピング結果
*/
public void addBindingErrors(final SheetBindingErrors<P> bindingErrors) {
list.add(bindingErrors);
}
/**
* 全てのマッピング情報を取得する。
* @return
*/
public List<SheetBindingErrors<P>> getAll() {
return list;
}
/**
* シート番号を指定して、マッピング情報を取得する。
* @param sheetIndex シート番号(0から始まる)
* @return 存在しない場合は空を返す。
*/
public Optional<SheetBindingErrors<P>> getBySheetIndex(final int sheetIndex) {
return list.stream()
.filter(b -> b.getSheetIndex() == sheetIndex)
.findFirst();
}
/**
* シート名を指定して、マッピング情報を取得する。
* @param sheetName シート名
* @return 存在しない場合は空を返す。
*/
public Optional<SheetBindingErrors<P>> getBySheetName(final String sheetName) {
return list.stream()
.filter(b -> Utils.equals(b.getSheetName(), sheetName))
.findFirst();
}
}