jp.littlesoft.web
クラス WebDataTable<E extends Serializable>

java.lang.Object
  上位を拡張 jp.littlesoft.data.Table<E>
      上位を拡張 jp.littlesoft.web.WebDataTable<E>
すべての実装されたインタフェース:
Serializable, Cloneable, ICheckableRequest
直系の既知のサブクラス:
WebSQLTable

public class WebDataTable<E extends Serializable>
extends Table<E>
implements ICheckableRequest

Webデータテーブルクラス。

このクラスはjp.littlesoft.data.Tableを拡張して、HTMLテンプレートからのアクセスやHTTPリクエスト取り込みなど、 Webアプリケーション作成に必要となる機能を追加したものです。

バージョン:
1.3.0
作成者:
LittleSoft Corporation
関連項目:
直列化された形式

入れ子のクラスの概要
static class WebDataTable.PageContext
          WebDataTable オブジェクトの内容をHTMLテンプレートからアクセスできるように変換するクラス。
static class WebDataTable.PageRow<K,V>
          行オブジェクトの内容をHTMLテンプレートからアクセスできるように変換するクラス。
static class WebDataTable.PageVelocityHandler
          Velecityの動作をカスタマイズするハンドラ.
static class WebDataTable.PagingCallMethodType
          ページングを実行するメソッドをコールするタイプの列挙型
static class WebDataTable.RequestParam
           
 
クラス jp.littlesoft.data.Table から継承された入れ子のクラス/インタフェース
Table.SortKey
 
フィールドの概要
 
クラス jp.littlesoft.data.Table から継承されたフィールド
_params, $$, active, columns, entity, params
 
コンストラクタの概要
WebDataTable(E... e)
          WebDataTable オブジェクトを生成します。
 
メソッドの概要
 void addErrorMessage(int index, String message)
          エラーメッセージを追加します。
 void addErrorMessage(String message)
          エラーメッセージを追加します。
 Row<E> appendRow()
          行を追加します。
 void applyFilter()
          Tableにフィルターを適用する指示を行います。
 void cancelUpdates(boolean initial)
          checkRequest() メソッドで発生したエラーを解除します。
 boolean checkRequest(javax.servlet.http.HttpServletRequest request)
          リクエスト内容から、当 WebDataTable オブジェクトに対する変更内容を取り出し、 各行・各列の値を自動的に変更します。
 void deleteRow()
          現在行を削除します。
 void dump()
          WebSQLTableの内容を標準出力に表示します。
 int getCurrentPage()
          現在のページ番号を取得します。
 String getDefaultInformation()
          Please set up small pieces of information needed by default.
 String getErrorMessages()
          ひとつの文字列に編集したエラーメッセージを取得します.
 ArrayList<HashMap<String,Object>> getErrors()
          エラーメッセージのリストを取得します。
 String getEscapeString(int colIndex)
          引数 colIndex で指定された列値をエスケープされた文字列として取得します。
 String getEscapeString(int row, int col)
          引数 row、col で指定された列値をエスケープされた文字列として取得します。
 String getEscapeString(String columnName)
          引数 columnName で指定された列値をエスケープされた文字列として取得します。
 String getId()
          2009/08/10 WebDataTableのパラメータ名を固定にする対応に伴い作成
WebDataTable オブジェクトのパラメータ名を取得します。
 String getLoadscript()
           
 int getPageEndRowIndex()
          HTMLテンプレートで取得できる末尾行のインデックスを取得します。
 int getPageEndRowNum()
          HTMLテンプレートで取得できる末尾行のインデックスを取得します。
 String getPagerTag()
          ページング用のHTMLタグを取得します。
 int getPageStartRowIndex()
          HTMLテンプレートで取得できる先頭行のインデックスを取得します。
 int getPageStartRowNum()
          HTMLテンプレートで取得できる先頭行のインデックスを取得します。
 int getShowRows()
          HTMLテンプレートで取得できる行数を取得します。
 boolean hasNextPage()
          次のページが存在するかどうか調べます。
 boolean hasPreviousPage()
          前のページが存在するかどうか調べます。
 Row<E> insertRow(int index)
          行を挿入します。
 boolean isAutoTrimRequest()
           
 boolean isContainRowNumInErrors()
          出力するエラーメッセージに行番号を含めるか否かを取得します。
 boolean isPageDivReserve()
          ページの分割取得を使用しているか否かを取得します。
 void pageFirst()
          HTMLテンプレートで取得できる行の範囲を先頭ページに位置づけます。
 void pageLast()
          HTMLテンプレートで取得できる行の範囲を最終のページに位置づけます。
 void pageMoveTo(int page)
          HTMLテンプレートで取得できる行の範囲を指定ページに位置づけます。
 void pageNext()
          HTMLテンプレートで取得できる行の範囲を次のページに位置づけます。
 void pagePrevious()
          HTMLテンプレートで取得できる行の範囲を前のページに位置づけます。
protected  void setActive(boolean b)
          Table オブジェクトの状態を設定します。
 void setAutoTrimRequest(boolean autoTrimRequest)
           
 void setContainRowNumInErrors(boolean containRowNumInErrors)
          出力するエラーメッセージに行番号を含めるか否かを設定します。
protected  void setCurrentPage(int currentPage)
          現在のページ番号を設定します。
 void setDefaultInformation(String defaultInformation)
          Please set up small pieces of information needed by default.
 void setId(String id)
          2009/08/10 WebDataTableのパラメータ名を固定にする対応に伴い作成
WebDataTable オブジェクトのパラメータ名を設定します。
 void setPageDivReserve(boolean usePageDivReserve)
          ページの分割取得を使用するか否かを設定します。
protected  void setPageEndRowIndex(int pageEndRow)
          ページの最終行のIndexを設定します。
 void setPagingAjaxCompMethodName(String name)
          Ajax呼び出し時、レスポンス返却時に呼び出すファンクションを指定します。
 void setPagingCallMethodType(WebDataTable.PagingCallMethodType type)
          ページングを「ls.exec」「ls.ajax」のどちらで呼び出すかを指定します。
 void setPagingJavaMethodName(String name)
          ページングを行うアクションメソッドを設定します。
 void setPagingMaxPageCount(int count)
          ページャーに表示するページ数の最大値を設定します。
 void setShowRows(int showRows)
          HTMLテンプレートで取得できる行数を設定します。
 WebDataTable.PageContext toPageContext()
          当 WebDataTable オブジェクトの内容を PageContext オブジェクトに変換します。
 WebDataTable.PageRow<String,String> toPageRow(WebDataTable.PageContext ctx, int row)
          引数 row で指定された行オブジェクトを PageRow オブジェクトに変換します。
 String toRequestParameterName(int row, int col)
          引数 row、col で指定された項目のリクエストパラメータ名を取得します。
 String toRequestParameterName(int row, String colName)
          引数 row、colName で指定された項目のリクエストパラメータ名を取得します。
 String toRequestParameterName(String colName)
          引数 colName で指定された項目のリクエストパラメータ名を取得します。
 void validateAllRows()
          テーブルオブジェクトに含まれる全ての行を検証し、編集内容を確定します。
 
クラス jp.littlesoft.data.Table から継承されたメソッド
activate, addChangeListener, addColumn, addColumn, addColumn, addColumns, addTableListener, allEntities, allRows, appendRow, applySortFilter, checkActive, checkDeactive, checkDuplicate, checkDuplicate, checkMoreRow, clearColumns, deleteAllRows, doLoadData, doSetupColumn, fireAfterSetValue, fireBeforeSetValue, fireDataChanged, fireOnActivate, fireOnColumnSetup, fireOnPassivate, fireRowDeleting, fireRowFiltering, fireRowValidating, first, getAllRowCount, getCaptionResource, getCharsetForCheckingLength, getColumn, getColumn, getColumn, getColumn, getColumnArray, getColumnCount, getColumns, getDataProvider, getDataResolver, getEntity, getEntity, getEntityType, getName, getNullables, getParams, getRow, getRow, getRowCount, getRowID, getRowIndex, getSortKeys, inBounds, indexOf, indexOf, indexOfColumn, indexOfColumn, indexOfDBColumnName, indexOfRow, insertRow, internalFree, internalMoveTo, internalOnActivate, internalPut, internalPut, internalRemove, internalSetup, isActive, isApplyFilter, isHasMoreRow, isTypedRow, last, moveTo, next, passivate, previous, releaseFilter, releaseFilter, removeChangeListener, removeColumn, removeTableListener, resolveChanges, setAllRowCount, setCaptionResource, setCaptionResource, setCharsetForCheckingLength, setDataProvider, setDataResolver, setEntityType, setHasMoreRow, setName, setNullableAll, setNullables, setSortKeys, sortRows, sortRows, sortRows, startEditing, startEditing, validate, validate, visibleEntities, visibleRows
 
クラス java.lang.Object から継承されたメソッド
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
インタフェース jp.littlesoft.web.ICheckableRequest から継承されたメソッド
getName, setName
 

コンストラクタの詳細

WebDataTable

public WebDataTable(E... e)
WebDataTable オブジェクトを生成します。

メソッドの詳細

getEscapeString

public String getEscapeString(int colIndex)
                       throws DataException
引数 colIndex で指定された列値をエスケープされた文字列として取得します。(現時行が対象となります)

パラメータ:
colIndex - 列インデックス
戻り値:
エスケープされたデータ文字列
例外:
DataException - 例外発生時

getEscapeString

public String getEscapeString(String columnName)
                       throws DataException
引数 columnName で指定された列値をエスケープされた文字列として取得します。(現時行が対象となります)

パラメータ:
columnName - 列名
戻り値:
エスケープされたデータ文字列
例外:
DataException - 例外発生時

getEscapeString

public String getEscapeString(int row,
                              int col)
                       throws DataException
引数 row、col で指定された列値をエスケープされた文字列として取得します。

パラメータ:
row - 行インデックス
col - 列インデックス
戻り値:
エスケープされたデータ文字列
例外:
DataException - 例外発生時

setActive

protected void setActive(boolean b)
                  throws DataException
クラス Table の記述:
Table オブジェクトの状態を設定します。

オーバーライド:
クラス Table<E extends Serializable> 内の setActive
パラメータ:
b - True:アクティブ状態、False:非アクティブ状態
例外:
DataException - 例外発生時

toPageContext

public WebDataTable.PageContext toPageContext()
当 WebDataTable オブジェクトの内容を PageContext オブジェクトに変換します。

戻り値:
PageContext オブジェクト

toPageRow

public WebDataTable.PageRow<String,String> toPageRow(WebDataTable.PageContext ctx,
                                                     int row)
                                              throws DataException
引数 row で指定された行オブジェクトを PageRow オブジェクトに変換します。

パラメータ:
row - インデックス
戻り値:
PageRow オブジェクト
例外:
DataException - 例外発生時

toRequestParameterName

public String toRequestParameterName(String colName)
                              throws DataException
引数 colName で指定された項目のリクエストパラメータ名を取得します。(現時行が対象となります)

パラメータ:
colName - 列名
戻り値:
リクエストパラメータ名
例外:
DataException - 例外発生時

toRequestParameterName

public String toRequestParameterName(int row,
                                     String colName)
                              throws DataException
引数 row、colName で指定された項目のリクエストパラメータ名を取得します。

パラメータ:
row - 行インデックス
colName - 列名
戻り値:
リクエストパラメータ名
例外:
DataException - 例外発生時

toRequestParameterName

public String toRequestParameterName(int row,
                                     int col)
引数 row、col で指定された項目のリクエストパラメータ名を取得します。

パラメータ:
row - 行インデックス
col - 列インデックス
戻り値:
リクエストパラメータ名

pageFirst

public void pageFirst()
HTMLテンプレートで取得できる行の範囲を先頭ページに位置づけます。

関連項目:
WebDataTable.PageContext.getrows(), setShowRows(int)

pagePrevious

public void pagePrevious()
HTMLテンプレートで取得できる行の範囲を前のページに位置づけます。

関連項目:
WebDataTable.PageContext.getrows(), setShowRows(int)

pageNext

public void pageNext()
HTMLテンプレートで取得できる行の範囲を次のページに位置づけます。

関連項目:
WebDataTable.PageContext.getrows(), setShowRows(int)

pageLast

public void pageLast()
HTMLテンプレートで取得できる行の範囲を最終のページに位置づけます。

関連項目:
WebDataTable.PageContext.getrows(), setShowRows(int)

pageMoveTo

public void pageMoveTo(int page)
HTMLテンプレートで取得できる行の範囲を指定ページに位置づけます。

関連項目:
WebDataTable.PageContext.getrows(), setShowRows(int)

hasNextPage

public boolean hasNextPage()
次のページが存在するかどうか調べます。

戻り値:
True:次のページが存在する、False:存在しない

hasPreviousPage

public boolean hasPreviousPage()
前のページが存在するかどうか調べます。

戻り値:
True:前のページが存在する、False:存在しない

getPageStartRowIndex

public int getPageStartRowIndex()
HTMLテンプレートで取得できる先頭行のインデックスを取得します。

戻り値:
行インデックス

getPageEndRowIndex

public int getPageEndRowIndex()
HTMLテンプレートで取得できる末尾行のインデックスを取得します。

戻り値:
行インデックス

getPageStartRowNum

public int getPageStartRowNum()
HTMLテンプレートで取得できる先頭行のインデックスを取得します。

戻り値:
行インデックス

getPageEndRowNum

public int getPageEndRowNum()
HTMLテンプレートで取得できる末尾行のインデックスを取得します。

戻り値:
行インデックス

getShowRows

public int getShowRows()
HTMLテンプレートで取得できる行数を取得します。

ディフォルトでは -1 が設定されています。これは全ての行が取得できることを意味します。

戻り値:
行数

setShowRows

public void setShowRows(int showRows)
HTMLテンプレートで取得できる行数を設定します。

ディフォルトでは -1 が設定されています。これは全ての行が取得できることを意味します。

パラメータ:
showRows - 行数

cancelUpdates

public void cancelUpdates(boolean initial)
                   throws DataException
checkRequest() メソッドで発生したエラーを解除します。

エラーメッセージ、エラーとなった値が消去され、変更保留の行オブジェクトが変更前の状態に戻されます。

オーバーライド:
クラス Table<E extends Serializable> 内の cancelUpdates
パラメータ:
initial - true:
例外:
DataException - 例外発生時

checkRequest

public boolean checkRequest(javax.servlet.http.HttpServletRequest request)
リクエスト内容から、当 WebDataTable オブジェクトに対する変更内容を取り出し、 各行・各列の値を自動的に変更します。

値を変更する際の項目値検証や非NULL検証でエラーが検出された場合、その内容がエラーメッセージのリストに 追加されて false が返却されます。

定義:
インタフェース ICheckableRequest 内の checkRequest
パラメータ:
request - クライアントがServletへ要求したリクエスト内容を含む HttpServletRequest オブジェクト
戻り値:
True:エラー無し、False:エラーあり

addErrorMessage

public void addErrorMessage(String message)
エラーメッセージを追加します。

パラメータ:
message - エラーメッセージ

addErrorMessage

public void addErrorMessage(int index,
                            String message)
エラーメッセージを追加します。

行番号付きでメッセージを出力する場合、[行Index+1]が行番号になります。
行Indexに[-2]を指定すると、行番号付きでメッセージを出力の場合でも行番号が付与されません。

パラメータ:
index - 行Index
message - エラーメッセージ

getErrors

public ArrayList<HashMap<String,Object>> getErrors()
エラーメッセージのリストを取得します。

戻り値:
エラーメッセージリスト

getErrorMessages

public String getErrorMessages()
ひとつの文字列に編集したエラーメッセージを取得します.
この中には改行\nがふくまれる可能性があります。

定義:
インタフェース ICheckableRequest 内の getErrorMessages
戻り値:
errorMessages

isContainRowNumInErrors

public boolean isContainRowNumInErrors()
出力するエラーメッセージに行番号を含めるか否かを取得します。

戻り値:
出力するエラーメッセージに行番号を含めるか否か

setContainRowNumInErrors

public void setContainRowNumInErrors(boolean containRowNumInErrors)
出力するエラーメッセージに行番号を含めるか否かを設定します。

「デフォルト:false」
また、各アプリケーションからaddErrorMessageメソッドにより追加された エラーメッセージは、行番号は出力されません。

パラメータ:
containRowNumInErrors - 出力するエラーメッセージに行番号を含めるか否か

appendRow

public Row<E> appendRow()
                                      throws DataException
クラス Table の記述:
行を追加します。

新規の行を追加します。
追加された行は最終行となります。 また、追加処理の完了後、行カーソルは追加された行となります。

非アクティブの状態でこのメソッドが呼ばれた場合は自動的にアクティブにします。

追加した行をデータベースに反映する前には、Row.validate() メソッドで変更を確定させる必要があります。

オーバーライド:
クラス Table<E extends Serializable> 内の appendRow
例外:
DataException - 例外発生時

insertRow

public Row<E> insertRow(int index)
                                      throws DataException
クラス Table の記述:
行を挿入します。

新規の行を指定された場所に挿入します。
指定されたインデックスが負値の場合、先頭に挿入されます。 また、現在保持されている行数以上のインデックスが指定された場合、追加扱いになります。
挿入処理の完了後、行カーソルは挿入した行になります。

ColumnにDefaultValueが設定されていた場合、新規行にDefaultValueが設定されます。

非アクティブの状態でこのメソッドが呼ばれた場合は自動的にアクティブにします。

追加した行をデータベースに反映する前には、Row.validate() メソッドで変更を確定させる必要があります。

オーバーライド:
クラス Table<E extends Serializable> 内の insertRow
パラメータ:
index - 挿入場所を示すインデックス(先頭行は0)
例外:
DataException - 例外発生時

deleteRow

public void deleteRow()
               throws DataException
クラス Table の記述:
現在行を削除します。

現在行カーソルが位置している行を削除します。
同時に行カーソルは次の行へ送られます。最終行が削除された場合、行カーソルは新たな最終行にとどまります。

オーバーライド:
クラス Table<E extends Serializable> 内の deleteRow
例外:
DataException - 例外発生時

validateAllRows

public void validateAllRows()
                     throws DataException
クラス Table の記述:
テーブルオブジェクトに含まれる全ての行を検証し、編集内容を確定します。

オーバーライド:
クラス Table<E extends Serializable> 内の validateAllRows
例外:
DataException - 例外発生時

applyFilter

public void applyFilter()
                 throws DataException
クラス Table の記述:
Tableにフィルターを適用する指示を行います。

行データに対するフィルターを適用します。このメソッドを呼び出すと、TableListener objectに対しrowFilteringが通知されます。
rowFilteringはTableが所有する全ての行データに対して呼ばれます。
rowFilteringの戻り値としてtrueが返されるとその行データは表示対象となります。

TableListener側では以下の様なコード実装する必要があります。
   public boolean rowFiltering(TableEvent e,  Row row) {
     try {
       if (e.getSource().equals(rsList)) {
         //部門コードが"1000"だったら表示対象とします。
         return "1000".equals(row.getValueAsString("BUMON_CODE"));
       } else {
         return true;
       }
     } catch (Exception x) {
       x.printStackTrace();
     }
     return true;
   }
 
※注意: applyFilterを使用しフィルタリングされた行の並び順は、行が登録された順番になります。
並び順を指定して行をフィルタリングしたい場合は、applySortFilterを使用してください。

オーバーライド:
クラス Table<E extends Serializable> 内の applyFilter
例外:
DataException - フィルター適用時に発生した例外

setPageEndRowIndex

protected void setPageEndRowIndex(int pageEndRow)
ページの最終行のIndexを設定します。

パラメータ:
pageEndRow - 最終行のIndex

getCurrentPage

public int getCurrentPage()
現在のページ番号を取得します。

戻り値:
ページ番号

setCurrentPage

protected void setCurrentPage(int currentPage)
現在のページ番号を設定します。

パラメータ:
currentPage - ページ番号

setPageDivReserve

public void setPageDivReserve(boolean usePageDivReserve)
                       throws DataException
ページの分割取得を使用するか否かを設定します。

パラメータ:
usePageDivReserve - ページの分割取得を使用するか否か
例外:
DataException - 例外発生時

isPageDivReserve

public boolean isPageDivReserve()
ページの分割取得を使用しているか否かを取得します。

戻り値:
ページの分割取得を使用しているか否か

setPagingJavaMethodName

public void setPagingJavaMethodName(String name)
ページングを行うアクションメソッドを設定します。

パラメータ:
name - メソッド名

setPagingAjaxCompMethodName

public void setPagingAjaxCompMethodName(String name)
Ajax呼び出し時、レスポンス返却時に呼び出すファンクションを指定します。

パラメータ:
name - ファンクション名

setPagingCallMethodType

public void setPagingCallMethodType(WebDataTable.PagingCallMethodType type)
ページングを「ls.exec」「ls.ajax」のどちらで呼び出すかを指定します。

パラメータ:
type - 呼び出しファンクションのタイプ

setPagingMaxPageCount

public void setPagingMaxPageCount(int count)
ページャーに表示するページ数の最大値を設定します。

パラメータ:
count - ページ数

getPagerTag

public String getPagerTag()
ページング用のHTMLタグを取得します。

戻り値:
HTMLタグ

dump

public void dump()
          throws Exception
WebSQLTableの内容を標準出力に表示します。

例外:
Exception - 例外発生時

isAutoTrimRequest

public boolean isAutoTrimRequest()

setAutoTrimRequest

public void setAutoTrimRequest(boolean autoTrimRequest)

setId

public void setId(String id)
2009/08/10 WebDataTableのパラメータ名を固定にする対応に伴い作成
WebDataTable オブジェクトのパラメータ名を設定します。


getId

public String getId()
2009/08/10 WebDataTableのパラメータ名を固定にする対応に伴い作成
WebDataTable オブジェクトのパラメータ名を取得します。


getDefaultInformation

public String getDefaultInformation()
Please set up small pieces of information needed by default.

定義:
インタフェース ICheckableRequest 内の getDefaultInformation

setDefaultInformation

public void setDefaultInformation(String defaultInformation)
Please set up small pieces of information needed by default.

パラメータ:
defaultInformation -

getLoadscript

public String getLoadscript()
定義:
インタフェース ICheckableRequest 内の getLoadscript


Copyright (C) 2006-2012 LittleSoft Corporation. All Rights Reserved.