public abstract class CellDefine
extends java.lang.Object
HeaderDefine
と
DetailDefine
には、定義情報の正当性を確認する機能
isValidParameters(XlsHandler, LocaleInfo)
を提供している。
この機能は、セルの型に即した継承クラスそれぞれの正当性を確認する機能
checkParameters(XlsHandler, LocaleInfo)
を利用している。
ReadXls
には、セルの入力値を読み込み、その値が定義情報で指定された値域にあること
(文字列長が超過しないこと、使用できる文字種、数値が上限と下限に収まっていること)
を確認した上で、文字列に変換する機能
readCell(int, int, XlsHandler, InvalidCellInfoCollector)
を提供している。
この機能は、セルの型に即した継承クラスそれぞれの正当性を確認する機能
checkCellType(CellTypeDefine)
、
isValidCellValue(XlsHandler, StringBuilder)
と
convertCellValue(XlsHandler)
を利用している。
また、日付型と数値型のセルの入力値が特定の範囲内にあることを
確認するために、
DurationChecker
と RangeChecker
を、
DateCellDefine
と NumberCellDefine
で指定できる。
EmptyCellDefine
,
ReadXls
,
XlsHandler
,
LocaleInfo
,
HeaderDefine
,
DetailDefine
修飾子とタイプ | フィールドと説明 |
---|---|
private Checker |
checker
項目定義情報.
|
private int |
columnNo
項目定義情報.
|
private java.lang.String |
invalidTypeMessageId
項目定義情報.
|
private java.lang.String |
lostMandatoryMessageID
項目定義情報.
|
private java.lang.String |
name
項目定義情報.
|
コンストラクタと説明 |
---|
CellDefine(int columnNo,
java.lang.String name,
java.lang.String lostMandatoryMessageID,
java.lang.String invalidTypeMessageId,
Checker checker)
コンストラクタ.
|
修飾子とタイプ | メソッドと説明 |
---|---|
protected abstract boolean |
checkCellType(CellTypeDefine cellType)
継承クラスで実装するメソッド.
|
protected abstract boolean |
checkParameters(XlsHandler xlsHandler,
LocaleInfo localeInfo)
継承クラスで実装するメソッド.
|
private java.lang.String |
convert(int rowNo,
int columnNo,
XlsHandler xlsHandler,
java.lang.StringBuilder msgIdSb)
ユーティリティ.
|
protected abstract java.lang.String |
convertCellValue(XlsHandler xlsHandler)
継承クラスで実装するメソッド.
|
Checker |
getChecker()
getter/setter.
|
int |
getColumnNo()
getter/setter.
|
java.lang.String |
getInvalidTypeMessageId()
getter/setter.
|
java.lang.String |
getLostMandatoryMessageID()
getter/setter.
|
java.lang.String |
getName()
getter/setter.
|
protected abstract boolean |
isValidCellValue(XlsHandler xlsHandler,
java.lang.StringBuilder msgIdSb)
継承クラスで実装するメソッド.
|
boolean |
isValidParameters(XlsHandler xlsHandler,
LocaleInfo localeInfo)
機能.
|
java.lang.String |
readCell(int rowNo,
int colNo,
XlsHandler xlsHandler,
InvalidCellInfoCollector ic)
機能.
|
void |
setChecker(Checker checkers)
getter/setter.
|
void |
setColumnNo(int columnNo)
getter/setter.
|
void |
setInvalidTypeMessageId(java.lang.String invalidTypeMessageId)
getter/setter.
|
void |
setLostMandatoryMessageID(java.lang.String lostMandatoryMessageID)
getter/setter.
|
void |
setName(java.lang.String name)
getter/setter.
|
private int columnNo
読み込むセルの列番号 (1 ~)
private java.lang.String name
項目名
private java.lang.String lostMandatoryMessageID
入力必須である場合に未入力であることを示すメッセージ
private java.lang.String invalidTypeMessageId
列番号のセルが論理値型でなかったことを示すメッセージ
public CellDefine(int columnNo, java.lang.String name, java.lang.String lostMandatoryMessageID, java.lang.String invalidTypeMessageId, Checker checker)
セルの型に即した項目を定義するクラスのコンストラクタの基底メソッド。
CellDefine
を継承するクラスは、それぞれに固有のフィールド値も引数に取るように
コンストラクタを実装する。
その実装したコンストラクタから、この基底コンストラクタを呼び出す。
columnNo
- 読み込むセルの列番号 (1 ~)name
- 項目名lostMandatoryMessageID
- 入力必須である場合に未入力であることを示すメッセージinvalidTypeMessageId
- 列番号のセルが論理値型でなかったことを示すメッセージchecker
- セルの入力値の正当性を確認する手順 Checker
のリストpublic final int getColumnNo()
columnNo
の getter 。
public final void setColumnNo(int columnNo)
columnNo
の setter 。
columnNo
- CellDefine#columnNo に設定する値public final java.lang.String getName()
name
の getter 。
public final void setName(java.lang.String name)
name
の setter 。
name
- CellDefine#name に設定する値public final java.lang.String getLostMandatoryMessageID()
lostMandatoryMessageID
の getter 。
public final void setLostMandatoryMessageID(java.lang.String lostMandatoryMessageID)
lostMandatoryMessageID
の setter 。
lostMandatoryMessageID
- CellDefine#lostMandatoryMessageID に設定する値public final java.lang.String getInvalidTypeMessageId()
invalidTypeMessageId
の getter 。
public final void setInvalidTypeMessageId(java.lang.String invalidTypeMessageId)
invalidTypeMessageId
の setter 。
invalidTypeMessageId
- CellDefine#invalidTypeMessageId に設定する値public final void setChecker(Checker checkers)
public final boolean isValidParameters(XlsHandler xlsHandler, LocaleInfo localeInfo)
HeaderDefine
と
DetailDefine
に、定義情報の正当性を確認する機能を提供する。
xlsHandler
- Excel ファイルを読み込むための依存ライブラリ呼び出し手順の実装localeInfo
- ロケール設定の情報EmptyCellDefine
ではなく、項目名と型不一致時のメッセージが null か空文字列 "" 。
checkParameters(XlsHandler, LocaleInfo)
の判定結果が不正 false となった。
private java.lang.String convert(int rowNo, int columnNo, XlsHandler xlsHandler, java.lang.StringBuilder msgIdSb) throws ReadXlsException
セル型に即した項目定義クラスの読み込むセルの型と値域 (文字数、文字種、数値の定義域) のチェック機能でセルの入力値を確認してから文字列に変換する。
rowNo
- 読み込むセルの行番号 (1 ~)columnNo
- 読み込むセルの列番号 (1 ~)xlsHandler
- Excel ファイルを読み込むための依存ライブラリ呼び出し手順の実装msgIdSb
- セル入力値の確認で不正なデータが検知された場合ごとのメッセージが
出力される。ReadXlsException
- 不正なセル入力値が検知された回数が上限を超えた場合などの
なんらかの障害が発生した場合に発生する。public final java.lang.String readCell(int rowNo, int colNo, XlsHandler xlsHandler, InvalidCellInfoCollector ic) throws ReadXlsException
ReadXls
に、セルの入力値を読み込み、
その値が定義情報で指定された値域にあること
(文字列長が超過しないこと、
使用できる文字種、
数値が上限と下限に収まっていること)
を確認した上で文字列に変換する機能を提供する。
rowNo
- 読み込むセルの行番号 (1 ~)colNo
- 読み込むセルの列番号 (1 ~)xlsHandler
- Excel ファイルを読み込むための依存ライブラリ呼び出し手順の実装ic
- 不正な入力値であるセルの情報を通知するエラーコレクタ
InvalidCellInfoCollector
の実装ReadXlsException
- 不正なセル入力値が検知された回数が上限を超えた場合などの
なんらかの障害が発生した場合に発生する。protected abstract boolean checkParameters(XlsHandler xlsHandler, LocaleInfo localeInfo)
セル型に即した項目定義クラスそれぞれの項目定義パラメータ値の正当性を 確認する。
xlsHandler
- Excel ファイルを読み込むための依存ライブラリ呼び出し手順の実装localeInfo
- ロケール設定の情報protected abstract boolean checkCellType(CellTypeDefine cellType)
セル型に即した項目定義クラスそれぞれで読み込むセルの型を確認する。
cellType
- セルの型の種別 CellTypeDefine
protected abstract boolean isValidCellValue(XlsHandler xlsHandler, java.lang.StringBuilder msgIdSb) throws ReadXlsException
セル型に即した項目定義クラスそれぞれで読み込むセルの入力値の値域を 確認する。
xlsHandler
- Excel ファイルを読み込むための依存ライブラリ呼び出し手順の実装msgIdSb
- 確認結果が不正であった場合それぞれのメッセージが出力される。ReadXlsException
- 入力値の確認で障害が発生した場合に発生する。protected abstract java.lang.String convertCellValue(XlsHandler xlsHandler)
セル型に即した項目定義クラスそれぞれで読み込むセルの入力値を 文字列に変換する。
xlsHandler
- Excel ファイルを読み込むための依存ライブラリ呼び出し手順の実装