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

# クラス DBLastSql

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

public class DBLastSql extends Object
ファイルダウンロードアイコン処理に必要な情報を格納しておく データ管理クラスです。 fileUD タグから、common/fileDownload.jsp に処理が遷移しますが、 その間、DBTableModel が指定の画面で作成されたか、また、view で 指定されたカラムのみを抜き出しているか、スコープは、などの チェックを行います。

変更履歴:
  4.3.0.0 (2008/07/04) 新規追加
導入されたバージョン:
  JDK5.0,

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

  コンストラクタ
  コンストラクタ
  説明
  `DBLastSql(String scope, String guikey, boolean overflow, String tableId)`
  初期情報を含んだ新規オブジェクトを作成します。

- ## メソッドの概要

  修飾子とタイプ
  メソッド
  説明
  `String`
  `getClmNames()`
  DBTableModel を出力するときのカラム名(CSV形式)を返します。
  `String`
  `getGuiKey()`
  画面IDを返します。
  `String`
  `getOrgClmNames()`
  DBTableModel を出力するときのオリジナルのカラム名(CSV形式)を返します。
  `String`
  `getScope()`
  スコープ(session/request)を返します。
  `String`
  `getTableId()`
  テーブルID(DBTableModelの格納キー)を返します。
  `String`
  `getViewClmNames()`
  DBTableModel を出力するときのカラム名(CSV形式)を返します。
  `boolean`
  `isGuiMatch(String gamenId)`
  内部画面IDと等しいか判定します。
  `boolean`
  `isOverflow()`
  検索時にオーバーフローしたかどうかを返します。
  `boolean`
  `isRequest()`
  スコープ(session/request)が、requestかどうかを返します。
  `boolean`
  `isTableMatch(String tableId, String scope)`
  内部テーブルID、スコープと等しいか判定します。
  `boolean`
  `isViewEditable()`
  ユーザーによる画面項目の並び替えをが禁止されているかどうかを返します。
  `void`
  `setClmNames(String clmNames)`
  DBTableModel を出力するときのカラム名(CSV形式)をセットします。
  `void`
  `setOrgClmNames(String clmNames)`
  DBTableModel を出力するときのオリジナルのカラム名(CSV形式)をセットします。
  `void`
  `setScope(String scope)`
  スコープ(session/request)をセットします。
  `void`
  `setTableId(String tableId)`
  テーブルID(DBTableModelの格納キー)をセットします。
  `void`
  `setViewClmNames(String clmNames)`
  DBTableModel を出力するときのカラム名(CSV形式)をセットします。
  `void`
  `setViewNotEditable()`
  ユーザーによる画面項目の並び替えを禁止します。

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

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

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

  - ### DBLastSql

    public DBLastSql(String scope, String guikey, boolean overflow, String tableId)
    初期情報を含んだ新規オブジェクトを作成します。
    パラメータ:
      `scope` - スコープ [session/request]
      `guikey` - 画面ID
      `overflow` - 検索時にオーバーフローしたかどうか
      `tableId` - テーブルID(DBTableModelの格納キー)

- ## メソッドの詳細

  - ### setClmNames

    public void setClmNames(String clmNames)
    DBTableModel を出力するときのカラム名(CSV形式)をセットします。 ファイルダウンロード時に、view で表示した分だけ抜き出す場合は、 このカラム名を指定します。
    パラメータ:
      `clmNames` - カラム名(CSV形式)

  - ### getClmNames

    public String getClmNames()
    DBTableModel を出力するときのカラム名(CSV形式)を返します。 ファイルダウンロード時に、view で表示した分だけ抜き出す場合は、 このカラム名を指定します。
    戻り値:
      カラム名(CSV形式)

  - ### setScope

    public void setScope(String scope)
    スコープ(session/request)をセットします。
    パラメータ:
      `scope` - スコープ [session/request]

  - ### getScope

    public String getScope()
    スコープ(session/request)を返します。
    戻り値:
      スコープ(session/request)
    変更履歴:
      5.3.6.0 (2011/06/01) 新規作成

  - ### isRequest

    public boolean isRequest()
    スコープ(session/request)が、requestかどうかを返します。 scope=="request" の場合は、DBTableModel は メモリに残っていませんので、 １．抜出アイコンを表示しない。 ２．lastSql を利用してフルのDBTableModelを作成しなおす。 方法が考えられます。
    戻り値:
      スコープが、requestなら、true

  - ### getGuiKey

    public String getGuiKey()
    画面IDを返します。 この画面IDは、ファイルダウンロードアイコンの存在している 画面と同じ箇所で、作成されたかをチェックする為に使用されます。
    戻り値:
      画面ID

  - ### isGuiMatch

    public boolean isGuiMatch(String gamenId)
    内部画面IDと等しいか判定します。 gamenId != null && gamenId.equals( lastSql.getGuikey() ) 処理と同等です。
    パラメータ:
      `gamenId` - 画面ID
    戻り値:
      引数が null でなく、且つ内部画面キーと同じ場合は、true

  - ### isOverflow

    public boolean isOverflow()
    検索時にオーバーフローしたかどうかを返します。 検索時にオーバーフローした場合、ファイルダウンロードとして、 １．そのまま、DBTableModel の分だけを抜き出す。 ２．lastSql を利用してフルのDBTableModelを作成しなおす。 方法が考えられます。
    戻り値:
      オーバーフローしたかどうか

  - ### setTableId

    public void setTableId(String tableId)
    テーブルID(DBTableModelの格納キー)をセットします。 DBTableModel を取り出すときに使用します。
    パラメータ:
      `tableId` - テーブルID(DBTableModelの格納キー)
    関連項目:
      - `getTableId()`

  - ### getTableId

    public String getTableId()
    テーブルID(DBTableModelの格納キー)を返します。 DBTableModel を取り出すときに使用します。
    戻り値:
      テーブルID(DBTableModelの格納キー)
    関連項目:
      - `setTableId(String)`

  - ### isTableMatch

    public boolean isTableMatch(String tableId, String scope)
    内部テーブルID、スコープと等しいか判定します。 tableId != null && tableId.equals( lastSql.getTableId() ) && scope != null && scope.equals( lastSql.scope ) 処理と同等です。
    パラメータ:
      `tableId` - 画面ID
      `scope` - スコープ
    戻り値:
      引数が null でなく、且つ内部テーブルID、スコープと同じ場合は、true

  - ### setViewClmNames

    public void setViewClmNames(String clmNames)
    DBTableModel を出力するときのカラム名(CSV形式)をセットします。 画面項目並び替え時に、view で表示した分だけ抜き出す場合は、 このカラム名を指定します。 左右分割などでViewが複数存在する場合は、'|'を区切り文字としてそれぞれのViewの カラム一覧がセットします。 例) AAA,BBB,CCC|DDD,EEE
    パラメータ:
      `clmNames` - カラム名(CSV形式+|)
    関連項目:
      - `getViewClmNames()`
    変更履歴:
      5.1.6.0 (2010/05/01) 新規作成

  - ### getViewClmNames

    public String getViewClmNames()
    DBTableModel を出力するときのカラム名(CSV形式)を返します。 画面項目並び替え時に、view で表示した分だけ抜き出す場合は、 このカラム名を指定します。 左右分割などでViewが複数存在する場合は、'|'を区切り文字としてそれぞれのViewの カラム一覧がセットされています。 例) AAA,BBB,CCC|DDD,EEE
    戻り値:
      カラム名(CSV形式+|)
    関連項目:
      - `setViewClmNames(String)`
    変更履歴:
      5.1.6.0 (2010/05/01) 新規作成

  - ### setOrgClmNames

    public void setOrgClmNames(String clmNames)
    DBTableModel を出力するときのオリジナルのカラム名(CSV形式)をセットします。 画面項目並び替え時に、view で表示した分だけ抜き出すカラムと比較することで、 カラムの変動をチェックできます。 書式は、(!)や、(|)を含まない、カラムのCSV形式です。
    パラメータ:
      `clmNames` - オリジナルのカラム名(CSV形式)
    関連項目:
      - `getOrgClmNames()`
    変更履歴:
      6.0.2.4 (2014/10/17) Edit機能の JSPソース変更時の対応

  - ### getOrgClmNames

    public String getOrgClmNames()
    DBTableModel を出力するときのオリジナルのカラム名(CSV形式)を返します。 画面項目並び替え時に、view で表示した分だけ抜き出すカラムと比較することで、 カラムの変動をチェックできます。 書式は、(!)や、(|)を含まない、カラムのCSV形式です。
    戻り値:
      オリジナルのカラム名(CSV形式)
    関連項目:
      - `setOrgClmNames(String)`
    変更履歴:
      6.0.2.4 (2014/10/17) Edit機能の JSPソース変更時の対応

  - ### setViewNotEditable

    public void setViewNotEditable()
    ユーザーによる画面項目の並び替えを禁止します。
    関連項目:
      - `isViewEditable()`

  - ### isViewEditable

    public boolean isViewEditable()
    ユーザーによる画面項目の並び替えをが禁止されているかどうかを返します。
    戻り値:
      ユーザーによる画面項目の並び替えをが禁止されているかどうか
    関連項目:
      - `setViewNotEditable()`