パッケージ 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

public abstract class AbstractDBType extends Object implements DBType
一般的な半角文字列を扱う為の、カラム属性を定義します。 半角文字列とは、「 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
    システムの改行コードを設定します。

    インタフェースから継承されたフィールド org.opengion.hayabusa.db.DBType

    DEF_TYPE
  • コンストラクタの概要

    コンストラクタ
    コンストラクタ
    説明
    デフォルトコンストラクター
    コンストラクター 各サブクラスのデフォルト値を設定して、オブジェクトを構築します。
  • メソッドの概要

    修飾子とタイプ
    メソッド
    説明
    protected boolean
    charCheck(char ch)
    char を受け取って、DBType の要件にあっているかどうかを判定します。
    そのDBTypeのデフォルトの値(物理的初期設定値)を返します。
    NATIVEの型の識別コードを返します。
    valueAction(String action, String oldValue, String newValue)
    action で指定されたコマンドを実行して、値の変換を行います。
    String引数の文字列を+1した文字列を返します。
    valueAdd(String value, String add)
    String引数の文字列に、第2引数に指定の文字列(数字、日付等)を加算して返します。
    valueCheck(String key, String value, int sizeX, int sizeY, String typeParam, boolean isStrict)
    データが登録可能かどうか[true/false]をチェックします。
    valueFill(String value, int sizeX, int sizeY, String encode)
    半角スペースで固定長(半角換算の数)に変換した文字列を返します。
    エディターで編集されたデータを登録する場合に、データそのものを変換して、実登録データを作成します。
    protected ErrorMessage
    xssCheck(String key, String value, ErrorMessage msg)
    HTMLタグかどうかをチェックします。

    クラスから継承されたメソッド java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • フィールド詳細

    • CR

      protected static final String CR
      システムの改行コードを設定します。
    • BUFFER_MIDDLE

      protected static final int BUFFER_MIDDLE
      StringBilderなどの初期値を設定します。 200
      関連項目:
  • コンストラクタの詳細

    • AbstractDBType

      public AbstractDBType()
      デフォルトコンストラクター
      変更履歴:
      4.0.0.0 (2005/01/31) type 廃止
    • AbstractDBType

      public AbstractDBType(String defValue)
      コンストラクター 各サブクラスのデフォルト値を設定して、オブジェクトを構築します。
      パラメータ:
      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

      public String valueFill(String value, int sizeX, int sizeY, String encode)
      半角スペースで固定長(半角換算の数)に変換した文字列を返します。 半角スペース埋めは、文字が半角、全角混在でもかまいません。 なお、エラーチェックは行われません。 実行前に、必ず valueCheck( String value ,int len ) を行う必要があります。
      定義:
      valueFill インタフェース内 DBType
      パラメータ:
      value - FILL埋めする文字列
      sizeX - 整数部分の文字列の長さ
      sizeY - 小数部分の文字列の長さ
      encode - 固定長で変換する文字エンコード
      戻り値:
      FILL埋めした新しい文字列
      変更履歴:
      3.5.4.5 (2004/01/23) エンコード指定に変更します。
      このメソッドは、nullを返しません
    • getDefault

      public String getDefault()
      そのDBTypeのデフォルトの値(物理的初期設定値)を返します。 一般に、文字列の場合は、ゼロストリング"" 数字の場合は "0" です。
      定義:
      getDefault インタフェース内 DBType
      戻り値:
      物理的初期設定値
    • valueAdd

      public String valueAdd(String value)
      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 インタフェース内 DBType
      パラメータ:
      value - String引数
      戻り値:
      引数の文字列を+1した文字列。
      変更履歴:
      4.0.0.0 (2005/01/31) Addの方法を変更(汎用的なAdd), 8.5.5.1 (2024/02/29) switch式の使用
    • valueAdd

      public String valueAdd(String value, String add)
      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

      public String valueSet(String value)
      エディターで編集されたデータを登録する場合に、データそのものを変換して、実登録データを作成します。 例えば、大文字のみのフィールドなら、大文字化します。 実登録データの作成は、DBType オブジェクトを利用しますので、 これと CellEditor とがアンマッチの場合は、うまくデータ変換 されない可能性がありますので、注意願います。
      定義:
      valueSet インタフェース内 DBType
      パラメータ:
      value - (一般に編集データとして登録されたデータ)
      戻り値:
      修正後の文字列(一般にデータベースに登録するデータ)
      変更履歴:
      3.3.3.0 (2003/07/09) 前後のスペースを取り除いておく。, 3.3.3.1 (2003/07/18) 後ろスペースを取り除く。(StringUtil#rTrim)
    • valueAction

      public String valueAction(String action, String oldValue, String newValue)
      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

      protected boolean charCheck(char ch)
      char を受け取って、DBType の要件にあっているかどうかを判定します。 デフォルト実装は、DBType_X です。 これは、valueCheck メソッド内から呼ばれるため、個別の DBType 毎に定義して使います。
      パラメータ:
      ch - チェック対象のchar
      戻り値:
      範囲内であれば、true そうでなければ、false
      変更履歴:
      8.5.6.1 (2024/03/29) 継承で使えるように、一部修正します。
    • xssCheck

      protected ErrorMessage xssCheck(String key, String value, ErrorMessage msg)
      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 なら正常と判断するように変更。