package com.gh.mygreen.xlsmapper;
import com.gh.mygreen.xlsmapper.annotation.XlsSheet;
/**
* シートが見つからない場合にスローされる例外クラス。
*
* @author T.TSUCHIE
*
*/
public class SheetNotFoundException extends XlsMapperException {
/** serialVersionUID */
private static final long serialVersionUID = 1604967589865552445L;
private String sheetName;
private Integer sheetNumber;
private Integer bookSheetSize;
/**
* 指定したシート名が見つからない場合に、そのシート名を指定するコンストラクタ。
* @param sheetName シート名
*/
public SheetNotFoundException(final String sheetName) {
this(sheetName, String.format("Cannot find sheet '%s'.", sheetName));
}
/**
* 指定したシート名が見つからない場合に、そのシート名を指定するコンストラクタ。
* @param sheetName シート名
* @param message メッセージ
* @since 0.5
*/
public SheetNotFoundException(final String sheetName, final String message) {
super(message);
this.sheetName = sheetName;
}
/**
* 指定したシートのインデックスが見つからない場合に、そのシートインデックスを指定するコンストラクタ。
* @param sheetNumber シート番号
* @param bookSheetSize ワークブックのシートサイズ。
*/
public SheetNotFoundException(final int sheetNumber, final int bookSheetSize) {
super(String.format("Cannot find sheet number [%d]. book only has number of sheet %d.", sheetNumber, bookSheetSize));
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;
}
}