jp.ne.mki.wedge.pub.data.check
クラス AbstractCheckLibrary

java.lang.Object
  |
  +--jp.ne.mki.wedge.pub.data.check.AbstractCheckLibrary
すべての実装インタフェース:
CheckLibraryInterface
直系の既知のサブクラス:
CodePointByteCheckLibrary, CodePointLengthCheckLibrary, DefaultCheckLibrary

public abstract class AbstractCheckLibrary
extends java.lang.Object
implements CheckLibraryInterface

チェックを行う共通Library抽象クラス

共通Libraryの抽象クラスになります。
基本的なチェック動作はこのクラスにて処理が行われます。

このクラスを使用することにより発生するチェックエラーコードは以下になります。

エラー内容エラーコード引数1引数2引数3引数4
型チェック(コード)エラーCKE0001チェック対象値エラーとなった文字桁位置
型チェック(数字)エラーCKE0002チェック対象値
型チェック(英字)エラーCKE0003チェック対象値エラーとなった文字桁位置エラーとなった文字
型チェック(日付時間)エラーCKE0004チェック対象値
型チェック(日付)エラーCKE0005チェック対象値
型チェック(時間)エラーCKE0006チェック対象値
長さオーバーエラー(NUMBER以外)CKE0007チェック対象値DMCで指定された長さ
固定長長さエラー(NUMBER以外)CKE0008チェック対象値DMCで指定された長さ
省略不可チェックエラーCKE0009チェック対象値DMCで指定された長さ実値の長さ判定文字コード
選択肢(ENUM)チェックエラーCKE0010チェック対象値DMCで指定された選択肢
最小値チェックエラーCKE0011チェック対象値DMCで指定された最小値
最大値チェックエラーCKE0012チェック対象値DMCで指定された最大値
型チェック(英数字)エラーCKE0013チェック対象値エラーとなった文字桁位置エラーとなった文字
型チェック(整数)エラーCKE0014チェック対象値
型チェック(半角カナ)エラーCKE0016チェック対象値
ピリオド存在エラーCKE0017チェック対象値DMCで指定された長さDMCで指定された小数点以下
型チェック(全角英数字)エラーCKE0018チェック対象値
長さオーバーエラー(NUMBER)CKE0019チェック対象値DMCで指定された長さDMCで指定された小数点以下
固定長長さエラー(NUMBER)CKE0020チェック対象値DMCで指定された長さDMCで指定された小数点以下

エラー発生時のメッセージは、このクラスに設定されたResourceBundleが使用されます。
メッセージを変更したい場合には、リソースpropertiesファイルを作成し、Configにリソースパスを指定します。
デフォルトのリソースは "jp.ne.mki.wedge.pub.data.check.CheckLibraryMessageVer2" になります。

導入されたバージョン:
ver1.2.0-12

インタフェース jp.ne.mki.wedge.run.interfaces.CheckLibraryInterface から継承したフィールド
ERRORCODE_ALPHABET_TYPE_NUMBER, ERRORCODE_ENUM, ERRORCODE_FIX, ERRORCODE_FIX_NUMBER, ERRORCODE_HALF_FONT, ERRORCODE_LENGTH, ERRORCODE_LENGTH_NUMBER, ERRORCODE_MAXIMUM, ERRORCODE_MINIMUM, ERRORCODE_NUMBER_PILIOD, ERRORCODE_OMIT, ERRORCODE_POSITIVE_TYPE_NUMBER, ERRORCODE_TYPE_ALPHABET, ERRORCODE_TYPE_CODE, ERRORCODE_TYPE_DATE, ERRORCODE_TYPE_DATE_TIME, ERRORCODE_TYPE_FULL_ALPHABET_NUMBER, ERRORCODE_TYPE_HALF_KANA, ERRORCODE_TYPE_NUMBER, ERRORCODE_TYPE_TIME
 
コンストラクタの概要
AbstractCheckLibrary()
           
 
メソッドの概要
 CheckResult check(java.lang.String value, int dataType, boolean isOmitCheck, java.lang.String[] dataEnum, int length, int scale, boolean isFix, boolean isOmit, java.lang.String minimum, java.lang.String maximum)
          共通チェック全実行
項目チェックにて実行されるチェック処理になります。
protected abstract  boolean checkAllDataType(CheckResult result, java.lang.String value, int dataType)
          全てのデータタイプに対してチェック。
protected  boolean checkAllDataType4RealTime(CheckResult result, java.lang.String value, java.lang.String insertString, int offs, int dataType)
          全てのデータタイプに対してチェック。
protected  boolean checkAlphabet(CheckResult result, java.lang.String value, boolean isRealTimeCheck)
          英字チェック
protected  boolean checkAlphabetNumber(CheckResult result, java.lang.String value, boolean isRealTimeCheck)
          半角英数字チェック
protected  boolean checkCode(CheckResult result, java.lang.String value, boolean isRealTimeCheck)
          コードチェック 0x7F 以上のときにはチェックエラーになります。
protected  boolean checkDate(CheckResult result, java.lang.String value, boolean isRealTimeCheck)
          日付チェック
日付(yyyyMMdd)として正しい値になっているかどうかをチェックします。
protected  boolean checkDateTime(CheckResult result, java.lang.String value, boolean isRealTimeCheck)
          日付時間チェック
日付時間(yyyyMMddHHmmss)として正しい値になっているかどうかをチェックします。
protected  boolean checkEnum(CheckResult result, java.lang.String data, java.lang.String[] dataEnum)
          選択肢(ENUM)チェック
protected  boolean checkFullAlphabetNumber(CheckResult result, java.lang.String value, boolean isRealTimeCheck)
          全角英数字チェック
protected  boolean checkHalfKana(CheckResult result, java.lang.String value, boolean isRealTimeCheck)
          半角カナチェック
半角カナ文字(LibraryCommon.checkHalfKana)と、記号(LibraryCommon.checkSignString)のみ可
protected  boolean checkLength(CheckResult result, java.lang.String data, int length, boolean isFix)
          長さチェック
固定長である場合は固定長チェックを行った後、値の桁数のチェックを行います。
protected  boolean checkLength(CheckResult result, java.lang.String data, int length, int scale, boolean isFix, int dataType)
          長さチェック
データタイプが「数字」の場合は checkNumberLength それ以外は checkLength を実行します。
protected  boolean checkMaximum(CheckResult result, java.lang.String data, java.lang.String maximum, int dataType)
          最大値チェック
DataTypeがNUMBERのときには数値比較、それ以外の場合には文字比較を行います。
protected  boolean checkMinimum(CheckResult result, java.lang.String data, java.lang.String minimum, int dataType)
          最小値チェック
NUMBER型のときには 数値用比較、NUMBER以外のときは文字用比較を行います。
protected  boolean checkNumber(CheckResult result, java.lang.String value, boolean isRealTimeCheck)
          数字チェック
protected  boolean checkNumberLength(CheckResult result, java.lang.String data, int length, int scale, boolean isFix)
          長さチェック 数値型専用チェック
[.](
protected  boolean checkOmit(CheckResult result, java.lang.String value)
          省略チェック
protected  boolean checkPositiveNumber(CheckResult result, java.lang.String value, boolean isRealTimeCheck)
          正数チェック
protected  boolean checkTime(CheckResult result, java.lang.String value, boolean isRealTimeCheck)
          時間チェック
時間(HHmmss)として正しい値になっているかどうかをチェックします。
protected  boolean checkType(CheckResult result, java.lang.String value, int dataType, boolean isRealTimeCheck)
          型のチェック
データタイプに基づいたチェックを実行します
protected  java.lang.String createCheckString4InsertCheck(java.lang.String text, java.lang.String insertStr, int offs)
          チェック用文字列作成
offsの値はTEXTのDocumentクラスから渡ってくるものになります。
protected  byte[] getBytes(java.lang.String value, java.lang.String charSet)
          バイト配列取得
Configに文字コード指定がある場合には、その文字コードを元にバイト配列を取得する。
 java.lang.String getCharSet()
          バイト数判定のための文字セットを取得する。
protected abstract  int getLength(java.lang.String data)
          チェックに使用するデータの長さを取得する。
 java.util.ResourceBundle getResourceBundle()
          エラーメッセージ用ResourceBundleを取得する
 CheckResult isInsertOk(java.lang.String text, java.lang.String insertStr, int offs, int dataType, int dataLength, int dataScale)
          リアルタイム用チェック実行
リアルタイムチェックにて使用され、文字を挿入できるかどうかのチェックを行います
このメソッドは、テキスト系Componentにてリアルタイムチェックの指定をした場合に、 Keyにて文字入力されたタイミングにて、実行エンジンからCallされます。
protected  boolean isValidChar(java.lang.String value, int dataType)
          文字のチェックを行うかどうかを判断します。
 void setCharSet(java.lang.String charSet)
          バイト数判定のための文字セットを設定する。
protected  CheckResult setCheckResult(CheckResult result, boolean isResult, java.lang.String errorCode, java.lang.Object[] messageArgs)
          チェック結果オブジェクトに値を設定する
 void setResourceBundle(java.util.ResourceBundle messageResource)
          エラーメッセージ用ResourceBundleを設定する
 
クラス java.lang.Object から継承したメソッド
, clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

コンストラクタの詳細

AbstractCheckLibrary

public AbstractCheckLibrary()
メソッドの詳細

check

public CheckResult check(java.lang.String value,
                         int dataType,
                         boolean isOmitCheck,
                         java.lang.String[] dataEnum,
                         int length,
                         int scale,
                         boolean isFix,
                         boolean isOmit,
                         java.lang.String minimum,
                         java.lang.String maximum)
共通チェック全実行
項目チェックにて実行されるチェック処理になります。
処理されるチェックの順番は、以下になります。
  1. 省略チェック(checkOmit)
  2. 文字チェック対象対象かどうかの判断(isValidChar)
  3. 全てのデータタイプについて共通のチェック(checkAllDataType)
  4. 型チェック(checkType)
  5. 選択肢チェック(checkEnum)
  6. 長さチェック(checkLength)
  7. 最小値チェック(checkMinimum)
  8. 最大値チェック(checkMaximum)
定義:
インタフェース CheckLibraryInterface 内の check
パラメータ:
value - チェック対象の値
dataType - データタイプ
isOmitCheck - trueの場合には省略のチェックも実行されます。
dataEnum - Enumに設定された値
length - 長さ
scale - 小数点桁数
isFix - 固定長かどうか
isOmit - 省略不可かどうか
minimum - 最小値
maximum - 最大値
戻り値:
CheckResult チェック結果

isInsertOk

public CheckResult isInsertOk(java.lang.String text,
                              java.lang.String insertStr,
                              int offs,
                              int dataType,
                              int dataLength,
                              int dataScale)
リアルタイム用チェック実行
リアルタイムチェックにて使用され、文字を挿入できるかどうかのチェックを行います
このメソッドは、テキスト系Componentにてリアルタイムチェックの指定をした場合に、 Keyにて文字入力されたタイミングにて、実行エンジンからCallされます。
処理されるチェックの順番は、以下になります。
  1. 文字チェック対象対象かどうかの判断(isValidChar)
  2. 全てのデータタイプについて共通のチェック(checkAllDataType)
  3. 型チェック(checkType)
  4. 長さチェック(checkLength)
定義:
インタフェース CheckLibraryInterface 内の isInsertOk
パラメータ:
text - チェック対象の値
insertStr - 挿入対象文字列
offs - 挿入オフセット
dataType - データタイプ
dataLength - 長さ
dataScale - 小数点桁数
戻り値:
CheckResult チェック結果

createCheckString4InsertCheck

protected java.lang.String createCheckString4InsertCheck(java.lang.String text,
                                                         java.lang.String insertStr,
                                                         int offs)
チェック用文字列作成
offsの値はTEXTのDocumentクラスから渡ってくるものになります。 offsの値は コードポイント桁数ではないようです。
パラメータ:
text -  
insertStr -  
offs -  
戻り値:
 

checkOmit

protected boolean checkOmit(CheckResult result,
                            java.lang.String value)
省略チェック
パラメータ:
result -  
value -  
戻り値:
 

isValidChar

protected boolean isValidChar(java.lang.String value,
                              int dataType)
文字のチェックを行うかどうかを判断します。
バイナリ、オブジェクト 型 もしくは 設定なし の場合は falseが返ります。
値が 0桁のときには false が帰ります。
パラメータ:
value - 対象文字列
int - データタイプ
戻り値:
boolean 結果

checkAllDataType

protected abstract boolean checkAllDataType(CheckResult result,
                                            java.lang.String value,
                                            int dataType)
全てのデータタイプに対してチェック。
使用不可能文字のチェックなどを組み込みこみます。
パラメータ:
result - チェック結果格納オブジェクト
value - 対象文字列
dataType - データタイプ
戻り値:
boolean チェック結果

checkAllDataType4RealTime

protected boolean checkAllDataType4RealTime(CheckResult result,
                                            java.lang.String value,
                                            java.lang.String insertString,
                                            int offs,
                                            int dataType)
全てのデータタイプに対してチェック。(リアルタイムチェック用)
デフォルトでは、 insertString(追加しようとしている文字)を checkAllDataTypeに渡してチェックします。
パラメータ:
result - チェック結果格納オブジェクト
value - 追加後の全体文字列
insertString - 追加しようとしている文字
offs - 追加しようとしている文字のOffset
戻り値:
 

getLength

protected abstract int getLength(java.lang.String data)
チェックに使用するデータの長さを取得する。
チェック処理により、桁数 or バイト桁数 or CodePoint数 などが返るようにする
パラメータ:
data -  
戻り値:
 

checkType

protected boolean checkType(CheckResult result,
                            java.lang.String value,
                            int dataType,
                            boolean isRealTimeCheck)
型のチェック
データタイプに基づいたチェックを実行します
パラメータ:
result - 結果情報格納クラス
value - チェック対象文字列
dataType - データタイプ
isRealTimeCheck - リアルタイムチェックかどうか
戻り値:
boolean 結果

checkLength

protected boolean checkLength(CheckResult result,
                              java.lang.String data,
                              int length,
                              int scale,
                              boolean isFix,
                              int dataType)
長さチェック
データタイプが「数字」の場合は checkNumberLength それ以外は checkLength を実行します。
パラメータ:
result - チェック結果格納オブジェクト
data - チェック対象文字列
length - 長さ桁数
scale - 小数点以下桁数
isFix - 固定長タイプであるかどうか
dataType - データタイプ
戻り値:
boolean 結果

checkLength

protected boolean checkLength(CheckResult result,
                              java.lang.String data,
                              int length,
                              boolean isFix)
長さチェック
固定長である場合は固定長チェックを行った後、値の桁数のチェックを行います。
パラメータ:
result - チェック結果格納オブジェクト
data - チェック対象文字列
length - 有効桁数
isFix - 固定長
戻り値:
boolean 結果

checkNumberLength

protected boolean checkNumberLength(CheckResult result,
                                    java.lang.String data,
                                    int length,
                                    int scale,
                                    boolean isFix)
長さチェック 数値型専用チェック
[.](ピリオド)にて値を分割し、整数部、小数部それぞれのチェックを行います。
値のはじめに[+]or[-]が在る場合にはその文字は整数部桁数には含めずチェックを行います。
小数部桁数が0指定で、[.](ピリオド)が在る場合にはエラーになります。
上記にチェック後、固定長チェックをおこないます。
パラメータ:
result - チェック結果格納オブジェクト
data - チェック対象文字列
length - 有効桁数(整数部)
scale - 有効桁数(小数部)
isFix - 固定長
戻り値:
boolean 結果

checkMinimum

protected boolean checkMinimum(CheckResult result,
                               java.lang.String data,
                               java.lang.String minimum,
                               int dataType)
最小値チェック
NUMBER型のときには 数値用比較、NUMBER以外のときは文字用比較を行います。
パラメータ:
result - チェック結果格納オブジェクト
data - チェック対象文字列
minimum - 最小値
dataType - データタイプ
戻り値:
boolean 結果

checkMaximum

protected boolean checkMaximum(CheckResult result,
                               java.lang.String data,
                               java.lang.String maximum,
                               int dataType)
最大値チェック
DataTypeがNUMBERのときには数値比較、それ以外の場合には文字比較を行います。
パラメータ:
result - 結果情報格納オブジェクト
data - チェック対象文字列
maximum - 最大値
dataType - データタイプ
戻り値:
boolean 結果

checkEnum

protected boolean checkEnum(CheckResult result,
                            java.lang.String data,
                            java.lang.String[] dataEnum)
選択肢(ENUM)チェック
パラメータ:
result - 結果情報格納オブジェクト
data - チェック対象文字列
dataEnum - 選択肢
戻り値:
boolean 結果

checkNumber

protected boolean checkNumber(CheckResult result,
                              java.lang.String value,
                              boolean isRealTimeCheck)
数字チェック
パラメータ:
result - チェック結果情報格納
value - チェック対象文字列
isRealTimeCheck - リアルタイムチェックかどうか
戻り値:
boolean 結果

checkHalfKana

protected boolean checkHalfKana(CheckResult result,
                                java.lang.String value,
                                boolean isRealTimeCheck)
半角カナチェック
半角カナ文字(LibraryCommon.checkHalfKana)と、記号(LibraryCommon.checkSignString)のみ可
パラメータ:
result - チェック結果情報格納
value - チェック対象文字列
isRealTimeCheck - リアルタイムチェックかどうか
戻り値:
boolean 結果

checkAlphabet

protected boolean checkAlphabet(CheckResult result,
                                java.lang.String value,
                                boolean isRealTimeCheck)
英字チェック
パラメータ:
result - チェック結果情報格納
value - チェック対象文字列
isRealTimeCheck - リアルタイムチェックかどうか
戻り値:
boolean 結果

checkAlphabetNumber

protected boolean checkAlphabetNumber(CheckResult result,
                                      java.lang.String value,
                                      boolean isRealTimeCheck)
半角英数字チェック
パラメータ:
result - チェック結果情報格納
value - チェック対象文字列
isRealTimeCheck - リアルタイムチェックかどうか
戻り値:
boolean 結果

checkFullAlphabetNumber

protected boolean checkFullAlphabetNumber(CheckResult result,
                                          java.lang.String value,
                                          boolean isRealTimeCheck)
全角英数字チェック
パラメータ:
result - チェック結果情報格納
value - チェック対象文字列
isRealTimeCheck - リアルタイムチェックかどうか
戻り値:
boolean 結果

checkCode

protected boolean checkCode(CheckResult result,
                            java.lang.String value,
                            boolean isRealTimeCheck)
コードチェック 0x7F 以上のときにはチェックエラーになります。
パラメータ:
result - チェック結果情報格納
value - チェック対象文字列
isRealTimeCheck - リアルタイムチェックかどうか
戻り値:
boolean 結果

checkDate

protected boolean checkDate(CheckResult result,
                            java.lang.String value,
                            boolean isRealTimeCheck)
日付チェック
日付(yyyyMMdd)として正しい値になっているかどうかをチェックします。
ただし、リアルタイムチェックのときには 数字であるかどうか?のチェックのみ行います。
パラメータ:
result - チェック結果情報格納
value - チェック対象文字列
isRealTimeCheck - リアルタイムチェックかどうか
戻り値:
boolean 結果

checkDateTime

protected boolean checkDateTime(CheckResult result,
                                java.lang.String value,
                                boolean isRealTimeCheck)
日付時間チェック
日付時間(yyyyMMddHHmmss)として正しい値になっているかどうかをチェックします。
ただし、リアルタイムチェックのときには 数字であるかどうか?のチェックのみ行います。
パラメータ:
result - チェック結果情報格納
value - チェック対象文字列
isRealTimeCheck - リアルタイムチェックかどうか
戻り値:
boolean 結果

checkTime

protected boolean checkTime(CheckResult result,
                            java.lang.String value,
                            boolean isRealTimeCheck)
時間チェック
時間(HHmmss)として正しい値になっているかどうかをチェックします。
ただし、リアルタイムチェックのときには 数字であるかどうか?のチェックのみ行います。
パラメータ:
result - チェック結果情報格納
value - チェック対象文字列
isRealTimeCheck - リアルタイムチェックかどうか
戻り値:
boolean 結果

checkPositiveNumber

protected boolean checkPositiveNumber(CheckResult result,
                                      java.lang.String value,
                                      boolean isRealTimeCheck)
正数チェック
パラメータ:
result - チェック結果情報格納
value - チェック対象文字列
isRealTimeCheck - リアルタイムチェックかどうか
戻り値:
boolean 結果

setCheckResult

protected CheckResult setCheckResult(CheckResult result,
                                     boolean isResult,
                                     java.lang.String errorCode,
                                     java.lang.Object[] messageArgs)
チェック結果オブジェクトに値を設定する
パラメータ:
result -  
isResult -  
errorCode -  
messageArgs -  
戻り値:
CheckResult

getBytes

protected byte[] getBytes(java.lang.String value,
                          java.lang.String charSet)
バイト配列取得
Configに文字コード指定がある場合には、その文字コードを元にバイト配列を取得する。
指定がない場合には String#getBytes() によりバイト配列を取得する。
パラメータ:
String - 対象文字列
戻り値:
byte[] 生成バイト配列

setCharSet

public void setCharSet(java.lang.String charSet)
バイト数判定のための文字セットを設定する。
定義:
インタフェース CheckLibraryInterface 内の setCharSet
パラメータ:
charSet -  

getCharSet

public java.lang.String getCharSet()
バイト数判定のための文字セットを取得する。
定義:
インタフェース CheckLibraryInterface 内の getCharSet
インタフェース jp.ne.mki.wedge.run.interfaces.CheckLibraryInterface からコピーされたタグ:
戻り値:
文字セット名称

setResourceBundle

public void setResourceBundle(java.util.ResourceBundle messageResource)
エラーメッセージ用ResourceBundleを設定する
定義:
インタフェース CheckLibraryInterface 内の setResourceBundle
パラメータ:
messageResource -  

getResourceBundle

public java.util.ResourceBundle getResourceBundle()
エラーメッセージ用ResourceBundleを取得する
定義:
インタフェース CheckLibraryInterface 内の getResourceBundle
戻り値: