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_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, 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, 2014, Oracle and/or its affiliates. All rights reserved.