パッケージ org.opengion.hayabusa.db

# クラス AbstractDBType

java.lang.Object
org.opengion.hayabusa.db.AbstractDBType

すべての実装されたインタフェース:
  `DBType`

直系の既知のサブクラス:
  `DBType_ALL`, `DBType_CRYPT`, `DBType_DATE`, `DBType_DD`, `DBType_HMS`, `DBType_K`, `DBType_MD5`, `DBType_NVAR`, `DBType_R`, `DBType_S9`, `DBType_SHA`, `DBType_X`, `DBType_X9`, `DBType_XH`, `DBType_XHU`, `DBType_XK`, `DBType_XKZ`, `DBType_XL`, `DBType_XLU9`, `DBType_XU`, `DBType_XU9`, `DBType_YM01`, `DBType_YM31`, `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`
  `BUFFER_MIDDLE`
  StringBilderなどの初期値を設定します。
  `protected static final String`
  `CR`
  システムの改行コードを設定します。

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

  `DEF_TYPE`

- ## コンストラクタの概要

  コンストラクタ
  コンストラクタ
  説明
  `AbstractDBType()`
  デフォルトコンストラクター
  `AbstractDBType(String defValue)`
  コンストラクター 各サブクラスのタイプ値とデフォルト値を設定して、オブジェクトを構築します。

- ## メソッドの概要

  修飾子とタイプ
  メソッド
  説明
  `String`
  `getDefault()`
  そのDBTypeの,デフォルトの値(物理的初期設定値)を返します。
  `NativeType`
  `getNativeType()`
  NATIVEの型の識別コードを返します。
  `String`
  `valueAction(String action, String oldValue, String newValue)`
  action で指定されたコマンドを実行して、値の変換を行います。
  `String`
  `valueAdd(String value)`
  String引数の文字列を＋１した文字列を返します。
  `String`
  `valueAdd(String value, String add)`
  String引数の文字列に、第２引数に指定の文字列(数字、日付等)を加算して返します。
  `ErrorMessage`
  `valueCheck(String key, String value, int sizeX, int sizeY, String typeParam, boolean isStrict)`
  データが登録可能かどうか[true/false]をチェックします。
  `String`
  `valueFill(String value, int sizeX, int sizeY, String encode)`
  半角スペースで固定長(半角換算の数)に変換した文字列を返します。
  `String`
  `valueSet(String value)`
  エディターで編集されたデータを登録する場合に、データそのものを変換して、実登録データを作成します。
  `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

    public NativeType getNativeType()
    NATIVEの型の識別コードを返します。
    定義:
      `getNativeType` インタフェース内 `DBType`
    戻り値:
      NATIVEの型の識別コード(DBType で規定)
    関連項目:
      - `NativeType`
    変更履歴:
      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` - ＦＩＬＬ埋めする文字列
      `sizeX` - 整数部分の文字列の長さ
      `sizeY` - 小数部分の文字列の長さ
      `encode` - 固定長で変換する文字エンコード
    戻り値:
      ＦＩＬＬ埋めした新しい文字列
    変更履歴:
      3.5.4.5 (2004/01/23) エンコード指定に変更します。
    このﾒｿｯﾄﾞは、nullを返しません

  - ### getDefault

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

  - ### valueAdd

    public String valueAdd(String value)
    String引数の文字列を＋１した文字列を返します。 これは、英字の場合(A,B,C など)は、B,C,D のように,最終桁の文字コードを ＋１ します。 文字列が数字タイプの場合は, 数字に変換して、+1 します。 最終桁が、"9","z","Z" および、その全角文字の場合、"0","a","Z" および、その全角文字に 変換後、ひとつ上の桁で、同様の ＋１ 操作を行います。 最も上位の桁が、これらの繰り上がり桁の場合は、すべての桁が初期化された状態に戻ります。 例：123 ⇒ 124 , ABC ⇒ ABD , 789 ⇒ 790 , XYZ ⇒ XXZ , ABC123 ⇒ ABC124 , AB99 ⇒ AC00 , 12ZZ99 ⇒ 13AA00 , ZZZZ ⇒ AAAA 引数が null の場合と、ゼロ文字列("")の場合は,物理的初期設定値(String getDefault()) の値を返します。
    定義:
      `valueAdd` インタフェース内 `DBType`
    パラメータ:
      `value` - String引数
    戻り値:
      引数の文字列を＋１した文字列。
    変更履歴:
      4.0.0.0 (2005/01/31) Ａｄｄの方法を変更(汎用的なＡｄｄ)

  - ### valueAdd

    public String valueAdd(String value, String add)
    String引数の文字列に、第２引数に指定の文字列(数字、日付等)を加算して返します。 これは、valueAdd( String ) と本質的には同じ動きをしますが、任意の文字列を加算する ため、主として、数字系や日付系の DBType にのみ実装します。 実装がない場合は、UnsupportedOperationException を throw します。 第２引数 が、null の場合は、＋１ する valueAdd( String )が呼ばれます。 これは、将来的には、valueAdd( String ) を無くすことを意味します。
    定義:
      `valueAdd` インタフェース内 `DBType`
    パラメータ:
      `value` - String引数
      `add` - 加算する文字列(null の場合は、従来と同じ、+1 します。)
    戻り値:
      引数の文字列第２引数に指定の文字列(数字、日付等)を加算した文字列。
    例外:
      `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属性対応

  - ### 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 の引数が、変更されているので、修正します。