public interface FilteredRowSet extends WebRowSet
FilteredRowSet
のすべての標準実装が実装しなければならない標準インタフェースです。FilteredRowSetImpl
クラスは、必要に応じて拡張可能なリファレンス実装を提供します。ベンダーは、このインタフェースを実装することによって、独自のバージョンを実装できます。
RowSet
オブジェクトで、ある程度のコンテンツ・フィルタリング機能を提供しなければならない場合があります。この場合、1つの可能性のある解決方法として、すべての標準RowSet
実装のクエリー言語を提供する方法があります。しかし、これは未接続のRowSet
オブジェクトなどの軽量コンポーネントには現実的な方法ではありません。FilteredRowSet
インタフェースは、膨大なクエリー言語とそれに伴う処理を提供することなく、このニーズに対応できる必要があります。
JDBC FilteredRowSet
標準実装は、RowSet
インタフェースを実装し、CachedRowSet
™クラスを拡張します。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 returned
上記の例では、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, 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, 2014, Oracle and/or its affiliates. All rights reserved.