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