Пакет javax.sql.rowset

Стандартные интерфейсы и базовые классы для JDBC RowSet реализаций. В этом пакете содержатся интерфейсы и классы, которые стандартная RowSet реализация либо реализует, либо расширяет.

Содержание

1.0 Спецификация пакета

В этом пакете определены пять стандартных JDBC RowSet интерфейсов. Все пять расширяют интерфейс RowSet, описанный в спецификации JDBC 3.0. Ожидается, что по мере развития этой технологии появятся дополнительные определения более специализированных типов JDBC RowSet . Будущие определения должны быть определены как подинтерфейсы с использованием наследования, аналогично тому, как это используется в этой спецификации.

Примечание: Определения интерфейсов, предоставленные в этом пакете, образуют основу для всех совместимых JDBC RowSet реализаций. Поставщики и более опытные разработчики, намеревающиеся предоставить свои собственные совместимые RowSet реализации, должны уделить особое внимание утверждениям, подробно описанным в специфицирующих интерфейсах.

2.0 Определения стандартных RowSet

  • JdbcRowSet - Обёртка вокруг ResultSet объекта, позволяющая использовать набор результатов как компонент JavaBeans™. Таким образом, JdbcRowSet объект может быть компонентом, который любой инструмент предоставляет для сборки приложения в рамках архитектуры, основанной на компонентах. Объект JdbcRowSet - это подключённый RowSet объект, то есть он должен постоянно поддерживать подключение к источнику данных с использованием драйвера, поддерживающего JDBC ("JDBC драйвер"). Кроме того, JdbcRowSet объект предоставляет полностью обновляемую и прокручиваемую табличную структуру данных, как определено в спецификации JDBC 3.0.
  • CachedRowSet™ - CachedRowSet объект — это компонент JavaBeans™, который может прокручиваться, обновляться, сериализоваться и в целом отключён от источника данных. CachedRowSet объект обычно содержит строки из набора результатов, но он также может содержать строки из любого файла с табличной структурой, например, электронную таблицу. CachedRowSet реализации должны использовать SyncFactory для управления и получения подключаемых SyncProvider объектов, обеспечивающих синхронизацию между отключённым RowSet объектом и исходным источником данных. Обычно SyncProvider реализация полагается на JDBC драйвер для получения подключения к конкретному источнику данных. Более подробные сведения об этом механизме приведены в спецификации пакета javax.sql.rowset.spi.
  • WebRowSet - WebRowSet объект — это расширение CachedRowSet , которое может читать и записывать RowSet объект в формате хорошо сформированного XML. Этот класс вызывает объект XmlReader (расширение интерфейса RowSetReader), чтобы прочитать набор строк в формате XML. Он вызывает объект XmlWriter (расширение интерфейса RowSetWriter), чтобы записать набор строк в формате XML. Читатель и писатель, требуемые WebRowSet объектами, предоставляются SyncFactory в виде реализаций SyncProvider. Для обеспечения правильного использования XML определён и опубликован стандартный универсальный XML-схема http://java.sun.com/xml/ns/jdbc/webrowset.xsd.
  • FilteredRowSet - FilteredRowSet объект предоставляет функциональность фильтрации программно и расширяемым способом. Есть много случаев, когда RowSet object необходимо обеспечить фильтрацию своего содержимого, не жертвуя отключённой средой, тем самым экономя затраты на создание подключения к источнику данных. Решения этой задачи варьируются от предоставления полнофункциональных возможностей SQL запросов до портативных компонентов и более лёгких подходов. FilteredRowSet объект использует реализацию интерфейса Predicate, который может определить фильтр во время выполнения. В свою очередь, FilteredRowSet объект отвечает за применение набора фильтров для операций чтения и записи, как входных, так и выходных. То есть, все фильтры могут рассматриваться как двусторонние. Стандартные фильтры не определены; однако, указаны достаточные механизмы для реализации любых необходимых фильтров.
  • JoinRowSet - Интерфейс JoinRowSet описывает механизм, с помощью которого можно установить отношения между двумя или более стандартными RowSet реализациями. Любое количество RowSet объектов может быть добавлено в JoinRowSet объект, если RowSet объекты могут быть связаны в стиле SQL JOIN. По определению, оператор SQL JOIN используется для объединения данных, содержащихся в двух (или более) таблицах реляционной базы данных на основе общего атрибута. Устанавливая и затем проверяя соответствия столбцов, объект JoinRowSet устанавливает отношения между RowSet экземплярами, не затрагивая исходный источник данных.

3.0 Руководство для разработчиков реализаций

Соответствующие реализации JDBC RowSet реализаций должны следовать утверждениям, описанным в этой спецификации. В соответствии с условиями Java Community Process, комплект тестирования совместимости (TCK) может быть лицензирован для обеспечения совместимости со спецификацией. Следующие абзацы описывают несколько отправных точек для разработчиков реализаций стандартных JDBC RowSet определений. Разработчики реализаций также должны обратиться к Руководству для разработчиков реализаций в пакете javax.sql.rowset.spi для получения руководства по реализации SyncProvider.
  • 3.1 Конструктор

    Все реализации RowSet должны содержать конструктор без аргументов.

  • 3.2 Роль класса BaseRowSet

    Соответствующая реализация JDBC RowSet должна реализовать один или несколько стандартных интерфейсов, указанных в этом пакете, и может расширить абстрактный класс BaseRowSet. Например, реализация CachedRowSet должна реализовать интерфейс CachedRowSet и расширить абстрактный класс BaseRowSet. Класс BaseRowSet предоставляет стандартную архитектуру, на которой должны быть построены все реализации RowSet, независимо от того, существуют ли объекты RowSet в подключённой или отключённой среде. Абстрактный класс BaseRowSet предоставляет любой реализации RowSet её базовые функции, включая управление свойствами и уведомления о событиях, которые полностью соответствуют требованиям компонентов JavaBeans. В качестве примера, все реализации, предоставленные в реализациях по умолчанию (содержащиеся в пакете com.sun.rowset), используют класс BaseRowSet в качестве основы для своих реализаций.

    Следующая таблица иллюстрирует возможности, предоставляемые абстрактным классом BaseRowSet.

    Функция Подробности
    Свойства Предоставляет стандартные механизмы управления свойствами JavaBeans для того, чтобы приложения могли получать и устанавливать значения команд и свойств RowSet. Обратитесь к документации интерфейса javax.sql.RowSet (доступной в спецификации JDBC 3.0) для получения более подробной информации о стандартных свойствах RowSet.
    Уведомления о событиях Предоставляет стандартные уведомления о событиях JavaBeans зарегистрированным обработчикам событий. Обратитесь к документации интерфейса javax.sql.RowSetEvent (доступной в спецификации JDBC 3.0) для получения более подробной информации о том, как регистрировать и обрабатывать стандартные события RowSet, генерируемые соответствующими реализациями.
    Установщики для команды объекта RowSet Предоставляет полный набор методов-установщиков для установки параметров команд RowSet.
    Потоки Предоставляет поля для хранения экземпляров потоков, а также набор констант для обозначения типа потока.
  • 3.3 Требования к подключённому RowSet

    JdbcRowSet описывает объект RowSet, который должен всегда быть подключён к исходному источнику данных. Реализации JdbcRowSet должны гарантировать, что это подключение обеспечивается исключительно драйвером JDBC. Кроме того, объекты RowSet, которые являются реализациями интерфейса JdbcRowSet и поэтому работают в подключённой среде, не используют SyncFactory для получения объекта RowSetReader или объекта RowSetWriter. Они могут безопасно полагаться на драйвер JDBC для удовлетворения своих потребностей благодаря наличию реализации ResultSet , которая обновляема и прокручиваема.

  • 3.4 Требования к отключённому RowSet

    Объект отключённого RowSet, такой как объект CachedRowSet, должен делегировать управление подключением объекту SyncProvider, предоставленному SyncFactory. Для обеспечения полностью отключённых семантик все отключённые объекты RowSet должны гарантировать, что исходное подключение к источнику данных для заполнения объекта RowSet закрыто, чтобы позволить сборщику мусора восстановить и освободить ресурсы. Объект SyncProvider гарантирует, что критические свойства JDBC сохраняются для повторного подключения к источнику данных, когда требуется синхронизация. Отключённый объект RowSet должен, следовательно, гарантировать, что не остаются посторонние ссылки на объект Connection.

  • 3.5 Роль RowSetMetaDataImpl

    Класс RowsetMetaDataImpl — это вспомогательный класс, который предоставляет реализацию интерфейса RowSetMetaData, предоставляя стандартные реализации методов-установщиков для метаданных как для подключённых, так и для отключённых объектов RowSet. Все реализации могут свободно использовать эту стандартную реализацию, но это не обязательно.

  • 3.6 Класс RowSetWarning

    Класс RowSetWarning предоставляет предупреждения, которые могут быть установлены для реализаций RowSet. Подобно объектам SQLWarning, объекты RowSetWarning безмолвно цепляются к объекту, метод которого вызвал выброс предупреждения. Все реализации RowSet должны гарантировать, что это цепляние происходит, если генерируется предупреждение, а также гарантировать, что предупреждения доступны через метод getRowSetWarnings, определённый в интерфейсе JdbcRowSet или интерфейсе CachedRowSet. После получения предупреждения с помощью одного из методов getRowSetWarnings, можно вызвать метод RowSetWarning getNextWarning на нём, чтобы получить любые предупреждения, которые могут быть к нему прицеплены. Если предупреждение возвращено, можно вызвать getNextWarning и так далее, пока не останется больше предупреждений.

  • 3.7 Интерфейс Joinable

    Интерфейс Joinable предоставляет как подключённым, так и отключённым объектам RowSet возможность добавления к объекту JoinRowSet в операции SQL JOIN. Объект RowSet , реализовавший интерфейс Joinable, может установить столбец соответствия, получить столбец соответствия или удалить столбец соответствия. Объект JoinRowSet может затем использовать столбец соответствия объекта RowSet в качестве основы для добавления объекта RowSet.

  • 3.8 Интерфейс RowSetFactory

    Реализация RowSetFactory должна быть предоставлена.

4.0 Связанные спецификации

5.0 Связанная документация

Интерфейс Описание
CachedRowSet

Интерфейс, который все стандартные реализации CachedRowSet должны реализовать.

FilteredRowSet

Стандартный интерфейс, который все стандартные реализации FilteredRowSet должны реализовать.

JdbcRowSet

Стандартный интерфейс, который все стандартные реализации JdbcRowSet должны реализовать.

Joinable

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

JoinRowSet

Интерфейс JoinRowSet предоставляет механизм для объединения связанных данных из разных объектов RowSet в один объект JoinRowSet, представляющий операцию SQL JOIN.

Predicate

Стандартный интерфейс, который предоставляет основу для всех объектов FilteredRowSet для описания своих фильтров.

RowSetFactory

Интерфейс, определяющий реализацию фабрики, которая используется для получения различных типов реализаций RowSet.

WebRowSet

Стандартный интерфейс, который все реализации WebRowSet должны реализовать.

Класс Описание
BaseRowSet

Абстрактный класс, предоставляющий объекту RowSet его базовые функции.

RowSetMetaDataImpl

Предоставляет реализации для методов установки и получения метаинформации о столбцах объекта RowSet.

RowSetProvider

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

Исключение Описание
RowSetWarning

Расширение SQLException , предоставляющее информацию о предупреждениях базы данных, установленных на объектах RowSet.

© 1993, 2020, 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/11/docs/api/java.sql.rowset/javax/sql/rowset/package-summary.html

Spec-Zone .ru
спецификации, руководства, описания, API