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

クラス TableFilter_DBSELECT

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

    public class TableFilter_DBSELECT
    extends AbstractTableFilter
    TableFilter_DBSELECT は、TableFilter インターフェースを継承した、DBTableModel 処理用の 実装クラスです。 ここでは、Body部にかかれたSQLを実行した結果を、テーブルモデルにセットします。 SQL文から取得されるカラム名とテーブルモデルのカラム名は一致している必要があります。 検索結果のカラムがテーブルモデルに存在していない場合はエラーとなります。 以下の属性を指定しないと、データが存在しない場合はNULLがセットされます。 また、2行以上検索された場合でも、1行目のデータのみをセットします。 パラメータは、tableFilterタグの keys, vals にそれぞれ記述するか、BODY 部にCSS形式で記述します。 ただし、このフィルターは、BODY部に、SQL文も記述する為、注意が必要です。 ルール的には、一番最初に見つけた "{" と、"}" の間の文字列がパラメータと認識します。 よって、SQL文を記述する場合は、このパラメータの後ろに記述するか、keys,vals を利用ください。 【パラメータ】 { INNER_JOIN : データが存在しない場合、テーブルの該当行を削除します。(初期値:false) APPEND : 2行以上検索された場合、データをアペンドします。 (初期値:false) SEPARATOR : APPENDする場合の区切り文字を指定します。 (初期値:" "スペース) } Body部にかかれたSQLには[XXXX]形式の変数が指定できます。
    変更履歴:
    5.6.6.0 (2013/07/05) keys の整合性チェックを追加
    形式サンプル:
    ●形式: ① <og:tableFilter classId="DBSELECT" > </og:tableFilter> ② <og:tableFilter classId="DBSELECT" > { INNER_JOIN : true ; } select AAA,BBB,CCC from XXX </og:tableFilter>
    バージョン
    0.9.0 2000/10/17
    作成者
    Hiroki Nakamura
    導入されたバージョン:
    JDK1.1,
    • コンストラクタの詳細

      • TableFilter_DBSELECT

        public TableFilter_DBSELECT()
        デフォルトコンストラクター
        変更履歴:
        6.4.1.1 (2016/01/16) keysMap を、サブクラスから設定させるように変更。
    • メソッドの詳細

      • execute

        public DBTableModel execute()
        DBTableModel処理を実行します。
        戻り値:
        処理結果のDBTableModel
        変更履歴:
        4.3.7.0 (2009/06/01) 実装大幅変更, 5.1.9.0 (2010/08/01) Transaction 対応, 5.5.2.6 (2012/05/25) protected変数を、private化したため、getterメソッドで取得するように変更, 6.3.9.0 (2015/11/06) コンストラクタで初期化されていないフィールドを null チェックなしで利用している(findbugs), 6.4.3.4 (2016/03/11) Formatterに新しいコンストラクターを追加する。, 6.5.0.1 (2016/10/21) ErrorMessage をまとめるのと、直接 Throwable を渡します。