org.opengion.plugin.table

## クラス TableFilter_DBARG

- java.lang.Object
- - org.opengion.hayabusa.db.AbstractTableFilter
  - - org.opengion.plugin.table.TableFilter_DBARG

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

      public class TableFilter_DBARG
      extends AbstractTableFilter

       TableFilter_DBARG は、TableFilter インターフェースを継承した、DBTableModel 処理用の
       実装クラスです。

       ここでは、テキストから、オブジェクト名、カラム名、クラス、利用桁数を切り出します。

       ソースのテキスト部は、",NAME_JA VARCHAR2(100) " という形式のテキストになっています。
       これを、カラム部、クラス名部、使用桁数部に分解します。上記の例では、
       それぞれを、NAME_JA、VARCHAR2、100 に分解して、文字列配列に格納します。
       また、これらのソースに、"--" や "/ * ･･･ * /" などのコメントが含まれるケースが
       あります。"--" コメントは、それ以降を無視しますが、"/ *" コメントは、複数行に
       またがる為、今回は処理対象から外します。
       ソースのテキスト部には、それら以外に、OBJECT_NAME に相当する行や、");" などの
       ソースの最初や最後の無効な部分があります。無効な部分は、null を返すことで
       登録処理から省いてください。

       パラメータは、tableFilterタグの keys, vals にそれぞれ記述するか、BODY 部にCSS形式で記述します。
       【パラメータ】
        {
             TEXT       : 処理をおこなう、ソースのテキスト部のカラム名
             OBJ_NAME   : キーとなるオブジェクト名のカラム名
             SEQNO      : ソースの行番号のカラム名
             CLM        : 処理結果のカラム名を格納するカラム名
             CLS_NAME   : 処理結果のクラス名を格納するカラム名
             USE_LENGTH : 処理結果の利用桁数を格納するカラム名
             CLM_NAME   : 処理結果のカラム名称（ラベル）を格納するカラム名
             MAX_LENGTH : 処理結果の桁数を格納するカラム名
        }

  形式サンプル:

         ●形式：
                      select A.OBJECT_NAME AS OBJ_NAME,B.LINE AS SEQNO,'' AS CLM ,
                              '' AS CLS_NAME,'' AS USE_LENGTH,'' AS CLM_NAME,
                              '' AS TABLE_NAME ,'' AS MAX_LENGTH,
                              B.TEXT , '{@SYSTEM_ID}' AS SYSTEM_ID,'{@TBLSYU}' AS TBLSYU
                      from USER_OBJECTS A inner join USER_SOURCE B
                      on    A.OBJECT_NAME = B.NAME
                      where A.OBJECT_TYPE = 'TYPE'
                      and   B.TYPE        = 'TYPE'
                      and   not A.OBJECT_NAME like '%ARRAY'
                      order by A.OBJECT_NAME,B.LINE
              ① <og:tableFilter classId="DBARG"
                                      keys="TEXT,OBJ_NAME,SEQNO,CLM,CLS_NAME,USE_LENGTH,CLM_NAME,MAX_LENGTH"
                                      vals="TEXT,OBJ_NAME,SEQNO,CLM,CLS_NAME,USE_LENGTH,CLM_NAME,MAX_LENGTH" />

              ② <og:tableFilter classId="DBARG" >
                       {
                              TEXT         : TEXT       ;
                              OBJ_NAME     : OBJ_NAME   ;
                              SEQNO        : SEQNO      ;
                              CLM          : CLM        ;
                              CLS_NAME     : CLS_NAME   ;
                              USE_LENGTH   : USE_LENGTH ;
                              CLM_NAME     : CLM_NAME   ;
                              MAX_LENGTH   : MAX_LENGTH ;
                       }
                 </og:tableFilter>

  変更履歴:

    5.6.6.0 (2013/07/05) keys の整合性チェックを追加

  バージョン
    0.9.0 2000/10/17
  作成者
    Kazuhiko Hasegawa
  導入されたバージョン:
    JDK1.1,

- - ### フィールドのサマリー

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

      `BUFFER_MIDDLE, CR, EXEC_END_TAG, EXEC_START_TAG, execEndTag, isXml, XML_END_TAG, XML_START_TAG`

  - ### コンストラクタのサマリー

    コンストラクタ
    コンストラクタと説明
    `TableFilter_DBARG()` デフォルトコンストラクター

  - ### メソッドのサマリー

    すべてのメソッド インスタンス・メソッド concreteメソッド
    修飾子とタイプ | メソッドと説明
    --- | ---
    `DBTableModel` | `execute()` DBTableModel処理を実行します。

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

      `getDbid, getDBTableModel, getErrorCode, getErrorMessage, getKeys, getModifyType, getParameterRows, getResource, getSql, getTableColumnNo, getTransaction, getValue, initSet, isDebug, makeErrorMessage, setDbid, setDBTableModel, setDebug, setKeysVals, setModifyType, setParameterRows, setParamMap, setResource, setSql, setTransaction`

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

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

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

    - #### TableFilter_DBARG

          public TableFilter_DBARG()

      デフォルトコンストラクター
      変更履歴:

        6.4.1.1 (2016/01/16) keysMap を、サブクラスから設定させるように変更。

  - ### メソッドの詳細

    - #### execute

          public DBTableModel execute()

      DBTableModel処理を実行します。
      戻り値:
        処理結果のDBTableModel
      変更履歴:

        5.5.2.6 (2012/05/25) protected変数を、private化したため、getterメソッドで取得するように変更
        5.5.7.4 (2012/10/25) OBJ_NAME,SEQNO を追加することで、SEQNO を振りなおします。
        6.5.0.1 (2016/10/21) ErrorMessage をまとめるのと、直接 Throwable を渡します。

Webアプリケーションフレームワーク openGion
Copyright (c) 2009 The openGion Project.