Spec-Zone.ru › OpenJDK 17

Интерфейс FilteredRowSet

Все суперинтерфейсы:
AutoCloseable, CachedRowSet, Joinable, ResultSet, RowSet, WebRowSet, Wrapper
public interface FilteredRowSet extends WebRowSet
Стандартный интерфейс, который должны реализовывать все стандартные реализации FilteredRowSet. Класс FilteredRowSetImpl предоставляет эталонную реализацию, которую можно расширить при необходимости. В качестве альтернативы, поставщик свободен реализовать свою собственную версию, реализовав этот интерфейс.

1.0 Общие сведения

В некоторых случаях объект RowSet нуждается в фильтрации своего содержимого. Одним из возможных решений является предоставление языка запросов для всех стандартных реализаций RowSet; однако этот подход непрактичен для лёгких компонентов, таких как разъединённые объекты RowSet. Интерфейс FilteredRowSet призван решить эту проблему, не предоставляя громоздкий язык запросов вместе с обработкой, которую требует такой язык запросов.

Реализация JDBC FilteredRowSet стандарта реализует интерфейсы RowSet и расширяет класс CachedRowSet. Класс CachedRowSet предоставляет набор защищённых методов манипулирования курсором, которые реализация FilteredRowSet может переопределить, чтобы обеспечить поддержку фильтрации.

2.0 Обмен предикатами

Если реализация FilteredRowSet используется с помощью унаследованного метода createShared в родительских интерфейсах, Predicate должен быть общим без изменений для всех клона экземпляров FilteredRowSet.

3.0 Использование

Реализовав 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
 
 
В примере выше мы инициализируем объект Range, который реализует интерфейс Predicate. Этот объект выражает следующие ограничения: все строки, выводимые или изменяемые объектом FilteredRowSet, должны находиться между значениями 'Alpha' и 'Bravo' включительно в столбце 'columnName'. Если фильтр применяется к объекту FilteredRowSet, который не содержит данных, попадающих в диапазон фильтра, то строки не возвращаются.

Эта платформа позволяет использовать несколько классов, реализующих предикаты, в сочетании для достижения необходимого результата фильтрации без необходимости обработки языка запросов.

4.0 Обновление объекта FilteredRowSet

Набор предикатов на объекте FilteredRowSet применяет критерий ко всем строкам в объекте RowSet для управления подмножеством строк в объекте RowSet. Этот критерий управляет подмножеством видимых строк и определяет, какие строки могут быть изменены, удалены или вставлены.

Поэтому набор предикатов на объекте FilteredRowSet должен рассматриваться как двунаправленный, а установленные критерии — как механизм контроля всех представлений и обновлений объекта FilteredRowSet. Любая попытка обновить FilteredRowSet, которая нарушает критерий, приведёт к выбрасыванию объекта SQLException.

Критерий диапазона FilteredRowSet может быть изменён путём применения нового объекта Predicate к экземпляру FilteredRowSet в любое время. Это возможно, если не обнаруживаются дополнительные ссылки на объект FilteredRowSet. Новый фильтр немедленно влияет на применение критерия в объекте FilteredRowSet, и все последующие представления и обновления будут подчиняться аналогичному применению.

5.0 Поведение строк вне фильтра

Строки, которые выпадают за пределы набора фильтров на объекте FilteredRowSet, не могут быть изменены, пока фильтр не будет удалён или не будет применён новый фильтр.

Кроме того, только строки, попадающие в пределы фильтра, будут синхронизированы с источником данных.

С тех пор:
1.5

Краткое описание полей

Поля, объявленные в интерфейсе javax.sql.rowset.CachedRowSet

COMMIT_ON_ACCEPT_CHANGES

Поля, объявленные в интерфейсе java.sql.ResultSet

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

Поля, объявленные в интерфейсе javax.sql.rowset.WebRowSet

PUBLIC_XML_SCHEMA, SCHEMA_SYSTEM_ID

Краткое описание методов

Модификатор и тип Метод Описание
Predicate getFilter()
Возвращает активный фильтр для этого объекта FilteredRowSet.
void setFilter(Predicate p)
Применяет заданный объект Predicate к этому объекту FilteredRowSet.

Методы, объявленные в интерфейсе javax.sql.rowset.CachedRowSet

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

Методы, объявленные в интерфейсе javax.sql.rowset.Joinable

getMatchColumnIndexes, getMatchColumnNames, setMatchColumn, setMatchColumn, setMatchColumn, setMatchColumn, unsetMatchColumn, unsetMatchColumn, unsetMatchColumn, unsetMatchColumn

Методы, объявленные в интерфейсе java.sql.ResultSet

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

Методы, объявленные в интерфейсе javax.sql.RowSet

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

Методы, объявленные в интерфейсе javax.sql.rowset.WebRowSet

readXml, readXml, writeXml, writeXml, writeXml, writeXml

Методы, объявленные в интерфейсе java.sql.Wrapper

isWrapperFor, unwrap

Подробное описание методов

setFilter

void setFilter(Predicate p) throws SQLException
Применяет заданный объект Predicate к этому объекту FilteredRowSet. Фильтр контролирует как входные, так и выходные представления, ограничивая видимые и обрабатываемые строки.

Новый объект Predicate может быть задан в любое время. Это изменяет ограничения на данные объекта RowSet. Кроме того, изменение фильтра во время выполнения вызывает проблемы, когда несколько компонентов работают с одним объектом FilteredRowSet. Разработчики приложений должны нести ответственность за управление несколькими дескрипторами объектов FilteredRowSet, когда изменяются их подлежащие объекты Predicate.

Параметры:
p - объект Predicate, определяющий фильтр для этого объекта FilteredRowSet. Установка значения null очистит предикат, сделав все строки видимыми.
Исключения:
SQLException - если при установке объекта Predicate произошла ошибка

getFilter

Predicate getFilter()
Возвращает активный фильтр для этого объекта FilteredRowSet.
Возвращает:
p фильтр Predicate для этого объекта FilteredRowSet; null если фильтр не установлен.

© 1993, 2021, Oracle and/or its affiliates. All rights reserved.
Documentation extracted from Debian's OpenJDK Development Kit package.
Licensed under the GNU General Public License, version 2, with the Classpath Exception.
Various third party code in OpenJDK is licensed under different licenses (see Debian package).
Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.
https://docs.oracle.com/en/java/javase/17/docs/api/java.sql.rowset/javax/sql/rowset/FilteredRowSet.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API