パッケージ org.opengion.hayabusa.db
クラス AbstractDBType
java.lang.Object
org.opengion.hayabusa.db.AbstractDBType
- すべての実装されたインタフェース:
DBType
- 直系の既知のサブクラス:
DBType_ALL
,DBType_CRYPT
,DBType_DD
,DBType_HMS
,DBType_R
,DBType_S9
,DBType_SHA
,DBType_X
,DBType_X9
,DBType_XL
,DBType_XLU9
,DBType_XU
,DBType_XU9
,DBType_YMD
一般的な半角文字列を扱う為の、カラム属性を定義します。
半角文字列とは、「 c < 0x20 || c > 0x7e 以外」でのみ
構成された文字列のことです。
タイプチェックとして、以下の条件を判定します。
・文字列長は、Byte換算での文字数との比較
・半角文字列チェック「 c < 0x20 || c > 0x7e 以外」エラー
・文字パラメータの 正規表現チェック
・クロスサイトスクリプティングチェック
8.0.0.1 (2021/10/08)
そして、要素に対して class 属性も設定できます。
但し、class 属性が設定されている場合は、マッチチェックを実施しない
- 機能分類
- データ属性
- 導入されたバージョン:
- JDK5.0,
-
フィールドの概要
フィールド修飾子とタイプフィールド説明protected static final int
StringBilderなどの初期値を設定します。protected static final String
システムの改行コードを設定します。 -
コンストラクタの概要
コンストラクタ -
メソッドの概要
修飾子とタイプメソッド説明protected boolean
charCheck
(char ch) char を受け取って、DBType の要件にあっているかどうかを判定します。そのDBTypeのデフォルトの値(物理的初期設定値)を返します。NATIVEの型の識別コードを返します。valueAction
(String action, String oldValue, String newValue) action で指定されたコマンドを実行して、値の変換を行います。String引数の文字列を+1した文字列を返します。String引数の文字列に、第2引数に指定の文字列(数字、日付等)を加算して返します。valueCheck
(String key, String value, int sizeX, int sizeY, String typeParam, boolean isStrict) データが登録可能かどうか[true/false]をチェックします。半角スペースで固定長(半角換算の数)に変換した文字列を返します。エディターで編集されたデータを登録する場合に、データそのものを変換して、実登録データを作成します。protected ErrorMessage
xssCheck
(String key, String value, ErrorMessage msg) HTMLタグかどうかをチェックします。
-
フィールド詳細
-
CR
システムの改行コードを設定します。 -
BUFFER_MIDDLE
StringBilderなどの初期値を設定します。 200- 関連項目:
-
-
コンストラクタの詳細
-
AbstractDBType
public AbstractDBType()デフォルトコンストラクター- 変更履歴:
- 4.0.0.0 (2005/01/31) type 廃止
-
AbstractDBType
コンストラクター 各サブクラスのデフォルト値を設定して、オブジェクトを構築します。- パラメータ:
defValue
- データのデフォルト値- 変更履歴:
- 4.0.0.0 (2005/01/31) type 廃止
-
-
メソッドの詳細
-
getNativeType
NATIVEの型の識別コードを返します。- 定義:
getNativeType
インタフェース内DBType
- 戻り値:
- NATIVEの型の識別コード(DBType で規定)
- 関連項目:
- 変更履歴:
- 3.5.4.7 (2004/02/06) 新規作成, 4.1.1.2 (2008/02/28) Enum型(fukurou.model.NativeType)に変更
- このメソッドは、nullを返しません
-
valueFill
半角スペースで固定長(半角換算の数)に変換した文字列を返します。 半角スペース埋めは、文字が半角、全角混在でもかまいません。 なお、エラーチェックは行われません。 実行前に、必ず valueCheck( String value ,int len ) を行う必要があります。 -
getDefault
そのDBTypeのデフォルトの値(物理的初期設定値)を返します。 一般に、文字列の場合は、ゼロストリング"" 数字の場合は "0" です。- 定義:
getDefault
インタフェース内DBType
- 戻り値:
- 物理的初期設定値
-
valueAdd
String引数の文字列を+1した文字列を返します。 これは、英字の場合(A,B,C など)は、B,C,D のように、最終桁の文字コードを +1 します。 文字列が数字タイプの場合は、数字に変換して、+1 します。 最終桁が、"9","z","Z" および、その全角文字の場合、"0","a","Z" および、その全角文字に 変換後、ひとつ上の桁で、同様の +1 操作を行います。 最も上位の桁が、これらの繰り上がり桁の場合は、すべての桁が初期化された状態に戻ります。 例:123 ⇒ 124 , ABC ⇒ ABD , 789 ⇒ 790 , XYZ ⇒ XXZ , ABC123 ⇒ ABC124 , AB99 ⇒ AC00 , 12ZZ99 ⇒ 13AA00 , ZZZZ ⇒ AAAA 引数が null の場合と、ゼロ文字列("")の場合は、物理的初期設定値(String getDefault()) の値を返します。 -
valueAdd
String引数の文字列に、第2引数に指定の文字列(数字、日付等)を加算して返します。 これは、valueAdd( String ) と本質的には同じ動きをしますが、任意の文字列を加算する ため、主として、数字系や日付系の DBType にのみ実装します。 実装がない場合は、UnsupportedOperationException を throw します。 第2引数 が、null の場合は、+1 する valueAdd( String )が呼ばれます。 これは、将来的には、valueAdd( String ) を無くすことを意味します。- 定義:
valueAdd
インタフェース内DBType
- パラメータ:
value
- String引数add
- 加算する文字列(null の場合は、従来と同じ、+1 します。)- 戻り値:
- 引数の文字列第2引数に指定の文字列(数字、日付等)を加算した文字列。
- 例外:
UnsupportedOperationException
- 実装が存在しない場合- 変更履歴:
- 5.6.0.3 (2012/01/24) ADD に、引数の値を加算する機能を追加します。
-
valueSet
エディターで編集されたデータを登録する場合に、データそのものを変換して、実登録データを作成します。 例えば、大文字のみのフィールドなら、大文字化します。 実登録データの作成は、DBType オブジェクトを利用しますので、 これと CellEditor とがアンマッチの場合は、うまくデータ変換 されない可能性がありますので、注意願います。 -
valueAction
action で指定されたコマンドを実行して、値の変換を行います。 oldValue(旧データ)は、元のDBTableModelに設定されていた値です。通常は、 この値を使用してカラム毎に変換を行います。newValue(新データ)は、引数で 指定された新しい値です。この値には、パラメータを指定して変換方法を 制御することも可能です。 指定のアクションがカラムで処理できない場合は、エラーになります。- 定義:
valueAction
インタフェース内DBType
- パラメータ:
action
- アクションコマンドoldValue
- 入力データ(旧データ)newValue
- 入力データ(新データ)- 戻り値:
- 実行後のデータ
-
valueCheck
public ErrorMessage valueCheck(String key, String value, int sizeX, int sizeY, String typeParam, boolean isStrict) データが登録可能かどうか[true/false]をチェックします。 データがエラーの場合は、そのエラー内容を返します。- 定義:
valueCheck
インタフェース内DBType
- パラメータ:
key
- キーvalue
- 値sizeX
- 整数部分の文字列の長さsizeY
- 小数部分の文字列の長さtypeParam
- dbType パラメータisStrict
- 厳密にチェックするかどうか [true:する/false:標準的]- 戻り値:
- エラー内容
- 変更履歴:
- 2.1.1.1 (2002/11/15) HTMLタグチェックのメソッドの共有化。, 3.0.1.3 (2003/03/11) DBTypeCheckUtilクラスを利用するように修正, 3.6.0.0 (2004/09/22) dbType パラメータを引数に追加, 5.2.2.0 (2010/11/01) 厳密にチェック(isStrict=true)するフラグを追加, 8.0.0.1 (2021/10/08) dbType パラメータのclass属性対応, 8.5.6.1 (2024/03/29) 継承で使えるように、一部修正します。
-
charCheck
char を受け取って、DBType の要件にあっているかどうかを判定します。 デフォルト実装は、DBType_X です。 これは、valueCheck メソッド内から呼ばれるため、個別の DBType 毎に定義して使います。- パラメータ:
ch
- チェック対象のchar- 戻り値:
- 範囲内であれば、true そうでなければ、false
- 変更履歴:
- 8.5.6.1 (2024/03/29) 継承で使えるように、一部修正します。
-
xssCheck
HTMLタグかどうかをチェックします。 クロスサイトスクリプティング対策として、'<', '>' は登録させない。- パラメータ:
key
- タグのキーvalue
- 対象の値msg
- ErrorMessageオブジェクト- 戻り値:
- エラー内容(エラーを追加した、ErrorMessageオブジェクト)
- 変更履歴:
- 2.1.1.1 (2002/11/15) HTMLタグチェックのメソッドの共有化。, 6.2.0.0 (2015/02/27) ERR0010 の引数が、変更されているので、修正します。, 8.5.6.1 (2024/03/29) value が null なら正常と判断するように変更。
-