openGionopenGion
5.8.8.0

org.opengion.plugin.table
クラス TableFilter_TABLE

java.lang.Object
  上位を拡張 org.opengion.hayabusa.db.AbstractTableFilter
      上位を拡張 org.opengion.plugin.table.TableFilter_TABLE
すべての実装されたインタフェース:
TableFilter
直系の既知のサブクラス:
TableFilter_TABLE_FIREBIRD, TableFilter_TABLE_HSQLDB, TableFilter_TABLE_MYSQL, TableFilter_TABLE_POSGRE, TableFilter_TABLE_SQLSERVER

public class TableFilter_TABLE
extends AbstractTableFilter

TableFilter_TABLE は、TableFilter インターフェースを継承した、DBTableModel 処理用の 実装クラスです。 ここでは、テーブル一覧の検索結果より、GF05 のテーブルカラム定義テーブルから 必要な情報を取得し、テーブル作成スクリプトを作成します。 出力ファイルは、テーブル名+"S.sql" という命名規則で作成します。 検索では、(SYSTEM_ID,TBLSYU,TABLE_NAME,NAME_JA,TABLESPACE_NAME,INITIAL_EXTENT,NEXT_EXTENT,COMMENTS) の項目を取得する必要があります。 パラメータは、tableFilterタグの keys, vals にそれぞれ記述するか、BODY 部にCSS形式で記述します。 【パラメータ】 { DIR : {@BASE_DIR}/sql/install/01_TABLE ; 出力ファイルの基準フォルダ(必須) XML : false ; XML出力を行うかどうか[true/false]を指定します(初期値:false)。 }

形式サンプル:
 ●形式:
      select SYSTEM_ID,TBLSYU,TABLE_NAME,NAME_JA,TABLESPACE_NAME,INITIAL_EXTENT,NEXT_EXTENT,COMMENTS from GF02
 
      ① <og:tableFilter classId="TABLE" keys="DIR,XML" vals='"{@BASE_DIR}/sql/install/01_TABLE,"' />

      ② <og:tableFilter classId="TABLE" >
               {
                   DIR : {@BASE_DIR}/sql/install/01_TABLE ;
                   XML : false ;
               }
         </og:tableFilter>
変更履歴:
4.0.0.0 (2005/08/31) 新規作成
5.6.6.0 (2013/07/05) keys の整合性チェックを追加
バージョン
0.9.0 2000/10/17
作成者
Kazuhiko Hasegawa
導入されたバージョン:
JDK1.1,

フィールドの概要
protected static int COMMENTS
          データのアクセス用の配列番号 7
protected static String EXEC_END_TAG
           
protected static String EXEC_START_TAG
           
protected static int GF05_CLM
          データのアクセス用の配列番号 0
protected static int GF05_CLS_NAME
          データのアクセス用の配列番号 3
protected static int GF05_DATA_DEFAULT
          データのアクセス用の配列番号 5
protected static int GF05_NAME_JA
          データのアクセス用の配列番号 2
protected static int GF05_NOT_NULL
          データのアクセス用の配列番号 6
protected static int GF05_OPTIONS
          データのアクセス用の配列番号 7
protected static int GF05_SEQNO
          データのアクセス用の配列番号 1
protected static int GF05_USE_LENGTH
          データのアクセス用の配列番号 4
protected static int INITIAL_EXTENT
          データのアクセス用の配列番号 5
protected  boolean isXml
          XML形式かどうか
protected static int NAME_JA
          データのアクセス用の配列番号 3
protected static int NEXT_EXTENT
          データのアクセス用の配列番号 6
protected static int SYSTEM_ID
          データのアクセス用の配列番号 0
protected static int TABLE_NAME
          データのアクセス用の配列番号 2
protected static int TABLESPACE_NAME
          データのアクセス用の配列番号 4
protected static int TBLSYU
          データのアクセス用の配列番号 1
protected static String XML_END_TAG
           
protected static String XML_START_TAG
          各種定数
 
クラス org.opengion.hayabusa.db.AbstractTableFilter から継承されたフィールド
keysMap
 
インタフェース org.opengion.hayabusa.db.TableFilter から継承されたフィールド
CR
 
コンストラクタの概要
TableFilter_TABLE()
           
 
メソッドの概要
 DBTableModel execute()
          DBTableModel処理を実行します。
protected  void init(Map<String,String> keysMap)
          keys の整合性チェックを行うための初期設定を行います。
protected  String makeEndLine(int[] clmNo, String[] data)
          定義の最後の部分の処理を実行します。
protected  String makeHeadLine(int[] clmNo, String[] data)
          ヘッダー部分の処理を実行します。
protected  String[] makeLineList(String[] data, boolean first)
          各行部分(カラム定義)の処理を実行します。
protected  String makeUniqSeq(int[] clmNo, String[] data)
          ユニークシーケンスの作成処理を実行します。
protected  String makeUniqTrig(int[] clmNo, String[] data, String uniqName)
          ユニークシーケンスと関連付けるトリガの作成処理を実行します。
 
クラス org.opengion.hayabusa.db.AbstractTableFilter から継承されたメソッド
getDbid, getDBTableModel, getErrorCode, getErrorMessage, getModifyType, getParameterRows, getResource, getSql, getTableColumnNo, getTransaction, getValue, 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
 

フィールドの詳細

SYSTEM_ID

protected static final int SYSTEM_ID
データのアクセス用の配列番号 0

関連項目:
定数フィールド値

TBLSYU

protected static final int TBLSYU
データのアクセス用の配列番号 1

関連項目:
定数フィールド値

TABLE_NAME

protected static final int TABLE_NAME
データのアクセス用の配列番号 2

関連項目:
定数フィールド値

NAME_JA

protected static final int NAME_JA
データのアクセス用の配列番号 3

関連項目:
定数フィールド値

TABLESPACE_NAME

protected static final int TABLESPACE_NAME
データのアクセス用の配列番号 4

関連項目:
定数フィールド値

INITIAL_EXTENT

protected static final int INITIAL_EXTENT
データのアクセス用の配列番号 5

関連項目:
定数フィールド値

NEXT_EXTENT

protected static final int NEXT_EXTENT
データのアクセス用の配列番号 6

関連項目:
定数フィールド値

COMMENTS

protected static final int COMMENTS
データのアクセス用の配列番号 7

関連項目:
定数フィールド値

GF05_CLM

protected static final int GF05_CLM
データのアクセス用の配列番号 0

関連項目:
定数フィールド値

GF05_SEQNO

protected static final int GF05_SEQNO
データのアクセス用の配列番号 1

関連項目:
定数フィールド値

GF05_NAME_JA

protected static final int GF05_NAME_JA
データのアクセス用の配列番号 2

関連項目:
定数フィールド値

GF05_CLS_NAME

protected static final int GF05_CLS_NAME
データのアクセス用の配列番号 3

関連項目:
定数フィールド値

GF05_USE_LENGTH

protected static final int GF05_USE_LENGTH
データのアクセス用の配列番号 4

関連項目:
定数フィールド値

GF05_DATA_DEFAULT

protected static final int GF05_DATA_DEFAULT
データのアクセス用の配列番号 5

関連項目:
定数フィールド値

GF05_NOT_NULL

protected static final int GF05_NOT_NULL
データのアクセス用の配列番号 6

関連項目:
定数フィールド値

GF05_OPTIONS

protected static final int GF05_OPTIONS
データのアクセス用の配列番号 7

関連項目:
定数フィールド値

XML_START_TAG

protected static final String XML_START_TAG
各種定数


XML_END_TAG

protected static final String XML_END_TAG
関連項目:
定数フィールド値

EXEC_START_TAG

protected static final String EXEC_START_TAG
関連項目:
定数フィールド値

EXEC_END_TAG

protected static final String EXEC_END_TAG
関連項目:
定数フィールド値

isXml

protected boolean isXml
XML形式かどうか

コンストラクタの詳細

TableFilter_TABLE

public TableFilter_TABLE()
メソッドの詳細

init

protected void init(Map<String,String> keysMap)
keys の整合性チェックを行うための初期設定を行います。

オーバーライド:
クラス AbstractTableFilter 内の init
パラメータ:
keysMap - keys の整合性チェックを行うための Map
変更履歴:
5.6.6.1 (2013/07/12) keys の整合性チェック対応

execute

public DBTableModel execute()
DBTableModel処理を実行します。

戻り値:
実行結果のテーブルモデル
変更履歴:
3.8.7.0 (2006/12/15) アクセスログ取得の為,ApplicationInfoオブジェクトを設定
4.0.0.0 (2007/11/28) メソッドの戻り値をチェックします。
4.3.7.0 (2009/06/01) トリガー、SEQUENCE作成機能、XML出力機能追加
5.1.1.0 (2009/12/01) XML_START_TAG に、tableName をセットします。
5.1.9.0 (2010/08/01) Transaction 対応
5.5.2.6 (2012/05/25) protected変数を、private化したため、getterメソッドで取得するように変更
5.6.6.0 (2013/07/05) FixLengthData の簡易コンストラクタを使用

makeHeadLine

protected String makeHeadLine(int[] clmNo,
                              String[] data)
ヘッダー部分の処理を実行します。

パラメータ:
clmNo - カラム番号配列
data - 1行分のデータ配列
戻り値:
ヘッダー部分の文字列
変更履歴:
5.6.6.0 (2013/07/05) FixLengthData の簡易コンストラクタを使用
5.6.6.2 (2013/07/19) EXEC_START_TAG の付け忘れ

makeLineList

protected String[] makeLineList(String[] data,
                                boolean first)
各行部分(カラム定義)の処理を実行します。 カンマ,カラム,クラス,(,桁数,),初期値,NOT_NULL,拡張機能,コメント開始,行番号,名称,コメント終了 の順に配列にセットします。

パラメータ:
data - 1行分のデータ配列
first - 最初の行かどうか[true:最初/false:それ以降]
戻り値:
各行部分(カラム定義)配列
変更履歴:
5.5.1.9 (2012/04/18) useLen.length=0対応

makeEndLine

protected String makeEndLine(int[] clmNo,
                             String[] data)
定義の最後の部分の処理を実行します。 5.8.3.2 (2015/01/23)より 1.TABLESPACE_NAME を指定しない場合は、TABLESPACE 句を出力しません。 2.INITIAL_EXTENT,NEXT_EXTENT を 0 で指定した場合は該当箇所を出力しません。 3.PCTINCREASE は、出力しません。

パラメータ:
clmNo - カラム番号配列
data - 1行分のデータ配列
戻り値:
定義の最後の部分
変更履歴:
5.8.3.1 (2015/01/23) 不要項目を出さないようにする(V6の6.1.0.0と類似の対応) V6ではNEXT_EXTENT完全削除ですが、V5では互換性のため一旦残しておきます。

makeUniqSeq

protected String makeUniqSeq(int[] clmNo,
                             String[] data)
ユニークシーケンスの作成処理を実行します。

パラメータ:
clmNo - カラム番号配列
data - 1行分のデータ配列
戻り値:
ユニークシーケンス
変更履歴:
5.1.9.0 (2010/08/01) シーケンス名を[TABLE_NAME]S00に変更

makeUniqTrig

protected String makeUniqTrig(int[] clmNo,
                              String[] data,
                              String uniqName)
ユニークシーケンスと関連付けるトリガの作成処理を実行します。

パラメータ:
clmNo - カラム番号配列
data - 1行分のデータ配列
uniqName - ユニークトリガ名
戻り値:
ユニークシーケンスと関連付けるトリガ
変更履歴:
5.1.9.0 (2010/08/01) トリガー名を[TABLE_NAME]T00に変更

openGion 5.8.8.0

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