SheetNotFoundException.java
package com.gh.mygreen.xlsmapper;
import com.gh.mygreen.xlsmapper.annotation.XlsSheet;
import com.gh.mygreen.xlsmapper.localization.MessageBuilder;
/**
* シートが見つからない場合にスローされる例外クラス。
*
* @author T.TSUCHIE
*
*/
public class SheetNotFoundException extends XlsMapperException {
/** serialVersionUID */
private static final long serialVersionUID = 1604967589865552445L;
private final String sheetName;
private final Integer sheetNumber;
private final Integer bookSheetSize;
/**
* 指定したシート名が見つからない場合に、そのシート名を指定するコンストラクタ。
* @param sheetName シート名
*/
public SheetNotFoundException(final String sheetName) {
this(sheetName, MessageBuilder.create("sheet.notFound.name")
.var("sheetName", sheetName)
.format());
}
/**
* 指定したシート名が見つからない場合に、そのシート名を指定するコンストラクタ。
* @param sheetName シート名
* @param message メッセージ
* @since 0.5
*/
public SheetNotFoundException(final String sheetName, final String message) {
super(message);
this.sheetName = sheetName;
this.sheetNumber = null;
this.bookSheetSize = null;
}
/**
* 指定したシートのインデックスが見つからない場合に、そのシートインデックスを指定するコンストラクタ。
* @param sheetNumber シート番号
* @param bookSheetSize ワークブックのシートサイズ。
*/
public SheetNotFoundException(final int sheetNumber, final int bookSheetSize) {
super(MessageBuilder.create("sheet.notFound.overSize")
.var("sheetNumber", sheetNumber)
.var("bookSheetSize", bookSheetSize)
.format());
this.sheetName = null;
this.sheetNumber = sheetNumber;
this.bookSheetSize = bookSheetSize;
}
/**
* 検索対象のシート名。{@link XlsSheet}のname属性を指定されていた場合に設定される。
* @return
*/
public String getSheetName() {
return sheetName;
}
/**
* 検索対象のシート番号。{@link XlsSheet}のnumber属性を指定されていた場合に設定される。
* @return
*/
public Integer getSheetNumber() {
return sheetNumber;
}
/**
* Excelファイルのシートの個数。{@link XlsSheet}のnumber属性を指定されていた場合に設定される。
* @return
*/
public Integer getBookSheetSize() {
return bookSheetSize;
}
}