public interface FilteredRowSet extends WebRowSet
FilteredRowSet
のすべての標準実装が実装しなければならない標準インタフェースです。FilteredRowSetImpl
クラスは、必要に応じて拡張可能なリファレンス実装を提供します。ベンダーは、このインタフェースを実装することによって、独自のバージョンを実装できます。
RowSet
オブジェクトで、ある程度のコンテンツフィルタリング機能を提供しなければならない場合があります。この場合、1 つの可能性のある解決方法として、すべての標準 RowSet
実装のクエリー言語を提供する方法があります。しかし、これは未接続の RowSet
オブジェクトなどの軽量コンポーネントには現実的な方法ではありません。FilteredRowSet
インタフェースは、膨大なクエリー言語とそれに伴う処理を提供することなく、このニーズに対応できる必要があります。
JDBC FilteredRowSet
標準実装は、RowSet
インタフェースを実装し、CachedRowSet
TM クラスを拡張します。CachedRowSet
クラスは、protected カーソル操作メソッドのセットを提供します。FilteredRowSet
実装は、これらのメソッドをオーバーライドして、フィルタリング機能を提供することができます。
createShared
メソッドを使って FilteredRowSet
実装を共有している場合、すべての FilteredRowSet
インスタンスのクローンで、変更を加えることなく Predicate
を共有する必要があります。
Predicate
を実装した場合 (Predicate クラスの JavaDoc の例を参照)、FilteredRowSet
を次のように使用することができます。
上記の例では、
FilteredRowSet frs = new FilteredRowSetImpl();
frs.populate(rs);
Range name = new Range("Alpha", "Bravo", "columnName");
frs.setFilter(name);
frs.next() // only names from "Alpha" to "Bravo" will be return
Predicate
インタフェースを実装する Range
オブジェクトを初期化しています。このオブジェクトには、この FilteredRowSet
オブジェクトから出力または変更されたすべての行が、columnName 列内の Alpha から Bravo の範囲に収まる必要があります。フィルタの範囲内に収まるデータを格納しない FilteredRowSet
オブジェクトにフィルタが適用された場合は、行が返されません。
このフレームワークでは、クエリー言語処理を利用することなく、predicate を実装する複数のクラスを、必要なフィルタリング結果と組み合わせて使用することができます。
FilteredRowSet
オブジェクトの更新FilteredRowSet
オブジェクトの predicate セットは、RowSet
オブジェクト内のすべての行に基準を適用し、RowSet
オブジェクト内の行のサブセットを管理します。この基準では、可視の行のサブセットを制御できるだけでなく、行の変更、削除、または挿入の基準を定義することもできます。
したがって、FilteredRowSet
オブジェクト上の predicate セットは双方向と見なされ、セット基準は FilteredRowSet
オブジェクトのすべてのビューおよび更新のゲートメカニズムと見なされます。基準に違反する FilteredRowSet
を更新しようとすると、SQLException
オブジェクトがスローされます。
FilteredRowSet
範囲基準は、FilteredRowSet
インスタンスに、新しい Predicate
オブジェクトを適用することで、いつでも変更できます。この処理は、FilteredRowSet
オブジェクトへの追加参照が検出されない場合も実行可能です。新しいフィルタは、FilteredRowSet
オブジェクト内の基準の適用にただちに影響を及ぼし、後続のすべてのビューおよび更新に同じ基準が適用されます。
FilteredRowSet
オブジェクトに設定されたフィルタの範囲外の行は、フィルタを削除するか、新しいフィルタを適用するまで変更できません。
さらに、フィルタの境界内に収まる行のみが、データソースと同期されます。
PUBLIC_XML_SCHEMA, SCHEMA_SYSTEM_ID
COMMIT_ON_ACCEPT_CHANGES
CLOSE_CURSORS_AT_COMMIT, CONCUR_READ_ONLY, CONCUR_UPDATABLE, FETCH_FORWARD, FETCH_REVERSE, FETCH_UNKNOWN, HOLD_CURSORS_OVER_COMMIT, TYPE_FORWARD_ONLY, TYPE_SCROLL_INSENSITIVE, TYPE_SCROLL_SENSITIVE
修飾子と型 | メソッドと説明 |
---|---|
Predicate |
getFilter()
この
FilteredRowSet オブジェクトのアクティブなフィルタを取得します。 |
void |
setFilter(Predicate p)
指定された
Predicate オブジェクトをこの FilteredRowSet オブジェクトに適用します。 |
readXml, readXml, writeXml, writeXml, writeXml, writeXml
acceptChanges, acceptChanges, columnUpdated, columnUpdated, commit, createCopy, createCopyNoConstraints, createCopySchema, createShared, execute, getKeyColumns, getOriginal, getOriginalRow, getPageSize, getRowSetWarnings, getShowDeleted, getSyncProvider, getTableName, nextPage, populate, populate, previousPage, release, restoreOriginal, rollback, rollback, rowSetPopulated, setKeyColumns, setMetaData, setOriginalRow, setPageSize, setShowDeleted, setSyncProvider, setTableName, size, toCollection, toCollection, toCollection, undoDelete, undoInsert, undoUpdate
addRowSetListener, clearParameters, execute, getCommand, getDataSourceName, getEscapeProcessing, getMaxFieldSize, getMaxRows, getPassword, getQueryTimeout, getTransactionIsolation, getTypeMap, getUrl, getUsername, isReadOnly, removeRowSetListener, setArray, setAsciiStream, setAsciiStream, setAsciiStream, setAsciiStream, setBigDecimal, setBigDecimal, setBinaryStream, setBinaryStream, setBinaryStream, setBinaryStream, setBlob, setBlob, setBlob, setBlob, setBlob, setBlob, setBoolean, setBoolean, setByte, setByte, setBytes, setBytes, setCharacterStream, setCharacterStream, setCharacterStream, setCharacterStream, setClob, setClob, setClob, setClob, setClob, setClob, setCommand, setConcurrency, setDataSourceName, setDate, setDate, setDate, setDate, setDouble, setDouble, setEscapeProcessing, setFloat, setFloat, setInt, setInt, setLong, setLong, setMaxFieldSize, setMaxRows, setNCharacterStream, setNCharacterStream, setNCharacterStream, setNCharacterStream, setNClob, setNClob, setNClob, setNClob, setNClob, setNClob, setNString, setNString, setNull, setNull, setNull, setNull, setObject, setObject, setObject, setObject, setObject, setObject, setPassword, setQueryTimeout, setReadOnly, setRef, setRowId, setRowId, setShort, setShort, setSQLXML, setSQLXML, setString, setString, setTime, setTime, setTime, setTime, setTimestamp, setTimestamp, setTimestamp, setTimestamp, setTransactionIsolation, setType, setTypeMap, setURL, setUrl, setUsername
absolute, afterLast, beforeFirst, cancelRowUpdates, clearWarnings, close, deleteRow, findColumn, first, getArray, getArray, getAsciiStream, getAsciiStream, getBigDecimal, getBigDecimal, getBigDecimal, getBigDecimal, getBinaryStream, getBinaryStream, getBlob, getBlob, getBoolean, getBoolean, getByte, getByte, getBytes, getBytes, getCharacterStream, getCharacterStream, getClob, getClob, getConcurrency, getCursorName, getDate, getDate, getDate, getDate, getDouble, getDouble, getFetchDirection, getFetchSize, getFloat, getFloat, getHoldability, getInt, getInt, getLong, getLong, getMetaData, getNCharacterStream, getNCharacterStream, getNClob, getNClob, getNString, getNString, getObject, getObject, getObject, getObject, getObject, getObject, getRef, getRef, getRow, getRowId, getRowId, getShort, getShort, getSQLXML, getSQLXML, getStatement, getString, getString, getTime, getTime, getTime, getTime, getTimestamp, getTimestamp, getTimestamp, getTimestamp, getType, getUnicodeStream, getUnicodeStream, getURL, getURL, getWarnings, insertRow, isAfterLast, isBeforeFirst, isClosed, isFirst, isLast, last, moveToCurrentRow, moveToInsertRow, next, previous, refreshRow, relative, rowDeleted, rowInserted, rowUpdated, setFetchDirection, setFetchSize, updateArray, updateArray, updateAsciiStream, updateAsciiStream, updateAsciiStream, updateAsciiStream, updateAsciiStream, updateAsciiStream, updateBigDecimal, updateBigDecimal, updateBinaryStream, updateBinaryStream, updateBinaryStream, updateBinaryStream, updateBinaryStream, updateBinaryStream, updateBlob, updateBlob, updateBlob, updateBlob, updateBlob, updateBlob, updateBoolean, updateBoolean, updateByte, updateByte, updateBytes, updateBytes, updateCharacterStream, updateCharacterStream, updateCharacterStream, updateCharacterStream, updateCharacterStream, updateCharacterStream, updateClob, updateClob, updateClob, updateClob, updateClob, updateClob, updateDate, updateDate, updateDouble, updateDouble, updateFloat, updateFloat, updateInt, updateInt, updateLong, updateLong, updateNCharacterStream, updateNCharacterStream, updateNCharacterStream, updateNCharacterStream, updateNClob, updateNClob, updateNClob, updateNClob, updateNClob, updateNClob, updateNString, updateNString, updateNull, updateNull, updateObject, updateObject, updateObject, updateObject, updateRef, updateRef, updateRow, updateRowId, updateRowId, updateShort, updateShort, updateSQLXML, updateSQLXML, updateString, updateString, updateTime, updateTime, updateTimestamp, updateTimestamp, wasNull
isWrapperFor, unwrap
getMatchColumnIndexes, getMatchColumnNames, setMatchColumn, setMatchColumn, setMatchColumn, setMatchColumn, unsetMatchColumn, unsetMatchColumn, unsetMatchColumn, unsetMatchColumn
void setFilter(Predicate p) throws SQLException
Predicate
オブジェクトをこの FilteredRowSet
オブジェクトに適用します。フィルタは、インバウンドビューとアウトバウンドビューの両方を制御し、可視の行や操作可能な行を制限します。
新しい Predicate
オブジェクトはいつでも設定可能です。設定すると、RowSet
オブジェクトのデータに課された制約が変更されます。また、複数のコンポーネントが単一の FilteredRowSet
で処理されるため、実行時にフィルタを変更すると、問題が発生します。アプリケーション開発者は、配下の Predicate
オブジェクトが変更されたとき、FilteredRowSet
オブジェクトの複数のハンドルを管理する責任を負う必要があります。
p
- この FilteredRowSet
オブジェクトのフィルタを定義する Predicate
オブジェクト。null 値を設定すると、プレディケートを消去して、すべての行を可視にすることができる。SQLException
- Predicate
オブジェクトの設定時にエラーが発生した場合Predicate getFilter()
FilteredRowSet
オブジェクトのアクティブなフィルタを取得します。FilteredRowSet
オブジェクトの Predicate
。フィルタが設定されていない場合は null
。 バグまたは機能を送信
詳細な API リファレンスおよび開発者ドキュメントについては、Java SE のドキュメントを参照してください。そのドキュメントには、概念的な概要、用語の定義、回避方法、有効なコード例などの、開発者を対象にしたより詳細な説明が含まれています。
Copyright © 1993, 2013, Oracle and/or its affiliates. All rights reserved.