パッケージ org.opengion.plugin.column

## クラス DBType_HMS

- java.lang.Object
- - org.opengion.hayabusa.db.AbstractDBType
  - - org.opengion.plugin.column.DBType_HMS

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

      public class DBType_HMS
      extends AbstractDBType

  文字列の時間属性(時:分:秒)の半角の時間を扱う為の、カラム属性を定義します。 HHmmss に対応している必要があります。 (HHmmのデータでも利用可能です) ただし、日付の整合性チェックは行いませんが、valueAdd( String value )での 日付の加算時には、正式な日付データにて加算します。 タイプチェックとして、以下の条件を判定します。 ・文字列長は、直接計算で文字数との比較 ・日付使用文字チェック「('0' > c || '9' < c)以外」エラー ・文字パラメータの 正規表現チェック 例えば、24時や60分をエラーにしたい場合、｢([0-1][0-9]|[2][0-3])[0-5][0-9]｣ という 正規表現を文字パラメータに登録すれば、チェックできます。
  変更履歴:
    5.4.3.6 (2012/01/20) タイプチェックが抜けているので追加
  機能分類
    データ属性
  バージョン
    4.0
  作成者
    Kazuhiko Hasegawa
  導入されたバージョン:
    JDK5.0,

- - ### フィールドの概要

    - ### クラスから継承されたフィールド org.opengion.hayabusa.db.AbstractDBType

      `BUFFER_MIDDLE, CR`

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

      `DEF_TYPE`

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

    コンストラクタ
    コンストラクタ | 説明
    --- | ---
    `DBType_HMS()` | デフォルトコンストラクター

  - ### メソッドの概要

    すべてのメソッド インスタンス・メソッド concreteメソッド
    修飾子とタイプ | メソッド | 説明
    --- | --- | ---
    `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)` | データが登録可能かどうかをチェックします。
    `String` | `valueSet​(String value)` | エディターで編集されたデータを登録する場合に、データそのものを 変換して、実登録データを作成します。

    - ### クラスから継承されたメソッド org.opengion.hayabusa.db.AbstractDBType

      `getDefault, getNativeType, valueAction, valueFill, xssCheck`

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

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### コンストラクタの詳細

    - #### DBType_HMS

          public DBType_HMS()

      デフォルトコンストラクター
      変更履歴:
        6.4.2.0 (2016/01/29) PMD refactoring. Each class should declare at least one constructor.

  - ### メソッドの詳細

    - #### valueAdd

          public String valueAdd​(String value)

      String引数の文字列を＋１した文字列を返します。 これは、英字の場合(A,B,C など)は、B,C,D のように,最終桁の文字コードを ＋１ します。 文字列が数字タイプの場合は, 数字に変換して、+1 します。(桁上がりもあり) 混在タイプの場合は,最後の桁だけを確認して ＋１します。 引数が null の場合と、ゼロ文字列("")の場合は,物理的初期設定値(String getDefault()) の値を返します。 24時間を超えた場合は、25時となります。
      定義:
        `valueAdd` インタフェース内 `DBType`
      オーバーライド:
        `valueAdd` クラス内 `AbstractDBType`
      パラメータ:
        `value` - String引数の文字列
      戻り値:
        String引数の文字列を＋１した文字列(１時間加算)
      変更履歴:
        6.2.2.2 (2015/04/03) 桁数可変に対応

    - #### valueAdd

          public String valueAdd​(String value,
                                 String add)

      String引数の文字列に、第２引数に指定の文字列(数字、日付等)を加算して返します。 ここでは、HHmmss 形式のデータに、時間を加算します。 この HMS は、引数に、日付単位を指定できます。単位は、HHmmss 形式の １文字を指定します。大文字、小文字も識別します。value="5H" とすれば、５時間、 value="5m"とすれば、５分 追加します。 指定しない場合は、時を加算します。 ここのデータは、時間が繰り越しても、日付に影響しません。 また、２４時間を超えた場合は、00 時に戻ります。
      定義:
        `valueAdd` インタフェース内 `DBType`
      オーバーライド:
        `valueAdd` クラス内 `AbstractDBType`
      パラメータ:
        `value` - String引数
        `add` - 加算する時間文字列(単位付き:['H','m','s'])
      戻り値:
        引数の文字列に時間を加算します。
      変更履歴:
        5.6.0.3 (2012/01/24) ADD に、引数の値を加算する機能を追加します。, 5.6.1.0 (2013/02/01) 加算する引数に、日付単位('H','m','s')を指定可能にします。, 6.2.2.2 (2015/04/03) 桁数可変に対応

    - #### valueSet

          public String valueSet​(String value)

      エディターで編集されたデータを登録する場合に、データそのものを 変換して、実登録データを作成します。 例えば,大文字のみのフィールドなら、大文字化します。 実登録データの作成は、DBType オブジェクトを利用しますので, これと Editor とがアンマッチの場合は、うまくデータ変換 されない可能性がありますので、注意願います。
      定義:
        `valueSet` インタフェース内 `DBType`
      オーバーライド:
        `valueSet` クラス内 `AbstractDBType`
      パラメータ:
        `value` - (一般に編集データとして登録されたデータ)
      戻り値:
        修正後の文字列(一般にデータベースに登録するデータ)
      変更履歴:
        6.2.2.2 (2015/04/03) 桁数可変に対応, 6.2.2.3 (2015/04/10) 数値変換エラーを発生させない様にします。

    - #### valueCheck

          public ErrorMessage valueCheck​(String key,
                                         String value,
                                         int sizeX,
                                         int sizeY,
                                         String typeParam,
                                         boolean isStrict)

      データが登録可能かどうかをチェックします。 データがエラーの場合は、そのエラー内容を返します。
      定義:
        `valueCheck` インタフェース内 `DBType`
      オーバーライド:
        `valueCheck` クラス内 `AbstractDBType`
      パラメータ:
        `key` - キー
        `value` - 値
        `sizeX` - 整数部分の文字列の長さ
        `sizeY` - 小数部分の文字列の長さ
        `typeParam` - dbType パラメータ(文字パラメータ)
        `isStrict` - 厳密にチェックするかどうか[true:する/false:標準的]
      戻り値:
        エラー内容
      変更履歴:
        5.2.3.6 (2012/01/20) 数値のみに限定するために追加, 5.6.0.3 (2012/01/24) ADD に、引数の値を加算する機能を追加します。, 6.2.2.2 (2015/04/03) 桁数可変に対応, 6.8.4.1 (2017/12/18) 24時間以上の表記に対応するため、isStrict属性を加味します。, 7.2.5.1 (2020/06/05) 数値変換エラーの前にチェックを入れます。
      このメソッドは、nullを返しません