|
Spec-Zone .ru
спецификации, руководства, описания, API
|
public abstract class SyncProvider extends Object
RowSet объекты. A SyncProvider реализацией является class, который расширяется SyncProvider абстрактный class. A SyncProvider реализация идентифицируется уникальным ID, который является его полностью определенным именем class. Это имя должно быть зарегистрировано в SyncFactory SPI, таким образом делая реализацию, доступную для всех RowSet реализации. Механизм фабрики в ссылочной реализации использует это имя, чтобы инстанцировать реализации, которая может тогда обеспечить a RowSet объект с его читателем (a javax.sql.RowSetReader объект) и его писатель (a javax.sql.RowSetWriter объект).
Jdbc RowSet Спецификация реализаций обеспечивает две ссылочных реализации SyncProvider абстрактный class: RIOptimisticProvider и RIXMLProvider. RIOptimisticProvider может установить любого RowSet реализация с a RowSetReader объект и a RowSetWriter объект. Однако, только RIXMLProvider реализация может установить XmlReader возразите и XmlWriter объект. A WebRowSet возразите использует XmlReader возразите, чтобы считать данные в формате XML, чтобы заполнить себя с теми данными. Это использует XmlWriter возразите, чтобы записать себя в поток или java.io.Writer объект в формате XML.
SyncProvider реализации, следующее должно быть отмечено: SyncProvider реализация является своим полностью определенным именем class. SyncProvider реализацию в пакете называют providers. Например, если поставщик под названием Fred, Inc. предложил a SyncProvider реализация, у Вас могло быть следующее:
Vendor name: Fred, Inc.
Domain name of vendor: com.fred
Package name: com.fred.providers
SyncProvider implementation class name: HighAvailabilityProvider
Fully qualified class name of SyncProvider implementation:
com.fred.providers.HighAvailabilityProvider
Следующая строка кода использует полностью определенное имя, чтобы зарегистрировать эту реализацию в SyncFactory статический экземпляр.
SyncFactory.registerProvider(
"com.fred.providers.HighAvailabilityProvider");
Значение по умолчанию SyncProvider объект, предоставленный ссылочную реализацию, использует следующее имя:
com.sun.rowset.providers.RIOptimisticProvider
Поставщик может зарегистрировать a SyncProvider реализация имя class с Oracle Corporation, посылая электронное письмо jdbc@sun.com. Oracle поддержит распечатку базы данных доступное SyncProvider реализации для использования с совместимым RowSet реализации. Эта база данных будет подобна той, уже сохраняемой, чтобы перечислить доступные драйверы JDBC.
Поставщики должны обратиться к ссылочным провайдерам синхронизации реализации для дополнительного разъяснения на том, как реализовать новое SyncProvider реализация.
RowSet Объект Получает Своего ПровайдераRowset объект может получить доступ к a SyncProvider объект одним из следующих двух способов:
CachedRowSet crs = new CachedRowSet(
"com.fred.providers.HighAvailabilitySyncProvider");
setSyncProvider метод
CachedRowSet crs = new CachedRowSet();
crs.setSyncProvider("com.fred.providers.HighAvailabilitySyncProvider");
По умолчанию, ссылочные реализации RowSet провайдеры синхронизации всегда доступны платформе Java. Если никакие другие сменные провайдеры синхронизации не были правильно зарегистрированы, SyncFactory автоматически генерирует экземпляр значения по умолчанию SyncProvider ссылочная реализация. Таким образом, в предыдущем фрагменте кода, если никакую реализацию не называют com.fred.providers.HighAvailabilitySyncProvider был зарегистрирован в SyncFactory экземпляр, crs будет присвоен провайдер значения по умолчанию в ссылочной реализации, которая является com.sun.rowset.providers.RIOptimisticProvider.
RowSet возразите и источник данных нарушает исходный запрос или базовые ограничения источника данных, это приведет к неопределенному поведению для всех разъединенных RowSet реализации и их определяемый SyncProvider реализации. Не определяя поведение, когда такие нарушения происходят предложения большая гибкость для a SyncProvider реализация, чтобы определить ее собственный лучший план действий. A SyncProvider реализация может хотеть реализовывать определенный обработчик, чтобы обработать подмножество нарушений запроса. Однако, если исходное нарушение запроса или более общее ограничительное нарушение источника данных не обрабатываются SyncProvider реализация, все SyncProvider объекты должны бросить a SyncProviderException.
RowSet объект, который будет заполнен от SQL-запроса, который формулируется первоначально от SQL VIEW. В то время как во многих случаях для обновления возможно быть выполненным к базовому представлению, такое обновление требует дополнительных метаданных, которые могут измениться. SyncProvider class обеспечивает две константы, чтобы указать, поддерживает ли реализация обновление SQL VIEW. NONUPDATABLE_VIEW_SYNC - Указывает на это a SyncProvider реализация не поддерживает синхронизацию с SQL VIEW как базовый источник данных для RowSet объект. UPDATABLE_VIEW_SYNC - Указывает на это a SyncProvider реализация поддерживает синхронизацию с SQL VIEW как базовый источник данных. Значение по умолчанию для a RowSet объект не быть обновляемым, если это было заполнено с данными от SQL VIEW.
SyncProvider КонстантыSyncProvider class обеспечивает три набора констант, которые используются в качестве возвращаемых значений или параметров для SyncProvider методы. SyncProvider объекты могут быть реализованы, чтобы выполнить синхронизацию между a RowSet возразите и его базовый источник данных с различными степенями заботы. Первая группа констант указывает, как синхронизация обрабатывается. Например, GRADE_NONE указывает на это a SyncProvider объект не будет проявлять заботы, чтобы видеть, какие данные допустимы и просто запишут RowSet данные к источнику данных. GRADE_MODIFIED_AT_COMMIT указывает, что провайдер проверит только измененные данные на законность. Другие классы проверяют все данные на законность или устанавливают блокировки, когда данные изменяются или загружаются. SyncProvider объект SyncProvider объект может выполнить обновления к SQL VIEW SyncFactory, SyncFactoryException| Модификатор и Тип | Поле и Описание |
|---|---|
static int |
DATASOURCE_DB_LOCK
Указывает, что блокировка помещается в весь источник данных, который является источником данных для
RowSet объект, который использует это SyncProvider объект. |
static int |
DATASOURCE_NO_LOCK
Указывает, что никакие блокировки не остаются на инициирующем источнике данных.
|
static int |
DATASOURCE_ROW_LOCK
Указывает, что блокировка помещается в строки, которые затрагиваются исходным SQL-оператором, используемым, чтобы заполнить
RowSet объект, который использует это SyncProvider объект. |
static int |
DATASOURCE_TABLE_LOCK
Указывает, что блокировка помещается во все таблицы, которые затрагиваются исходным SQL-оператором, используемым, чтобы заполнить
RowSet объект, который использует это SyncProvider объект. |
static int |
GRADE_CHECK_ALL_AT_COMMIT
Указывает на высокий уровень оптимистический класс синхронизации относительно инициирующего источника данных.
|
static int |
GRADE_CHECK_MODIFIED_AT_COMMIT
Указывает на низкий уровень оптимистический класс синхронизации относительно инициирующего источника данных.
|
static int |
GRADE_LOCK_WHEN_LOADED
Указывает на самый пессимистический класс синхронизации относительно инициирующего источника данных.
|
static int |
GRADE_LOCK_WHEN_MODIFIED
Указывает на пессимистический класс синхронизации относительно инициирующего источника данных.
|
static int |
GRADE_NONE
Указывает, что никакая синхронизация с инициирующим источником данных не обеспечивается.
|
static int |
NONUPDATABLE_VIEW_SYNC
Указывает на это a
SyncProvider реализация не поддерживает синхронизацию между a RowSet возразите и SQL VIEW используемый, чтобы заполнить это. |
static int |
UPDATABLE_VIEW_SYNC
Указывает на это a
SyncProvider реализация поддерживает синхронизацию между a RowSet возразите и SQL VIEW используемый, чтобы заполнить это. |
| Конструктор и Описание |
|---|
SyncProvider()
Создает значение по умолчанию
SyncProvider объект. |
| Модификатор и Тип | Метод и Описание |
|---|---|
abstract int |
getDataSourceLock()
Возвращается текущий источник данных блокируют уровень серьезности, активный в этом
SyncProvider реализация. |
abstract int |
getProviderGrade()
Возвращает постоянное указание на класс синхронизации a
RowSet объект может ожидать от этого SyncProvider объект. |
abstract String |
getProviderID()
Возвращает уникальный идентификатор для этого
SyncProvider объект. |
abstract RowSetReader |
getRowSetReader()
Возвраты a
javax.sql.RowSetReader объект, который может использоваться, чтобы заполнить a RowSet объект с данными. |
abstract RowSetWriter |
getRowSetWriter()
Возвраты a
javax.sql.RowSetWriter объект, который может использоваться, чтобы записать a RowSet данные объекта назад к базовому источнику данных. |
abstract String |
getVendor()
Возвращает имя поставщика этого
SyncProvider экземпляр |
abstract String |
getVersion()
Возвращает версию выпуска этого
SyncProvider экземпляр. |
abstract void |
setDataSourceLock(int datasource_lock)
Устанавливает блокировку на базовом источнике данных на уровне, обозначенном datasource_lock.
|
abstract int |
supportsUpdatableView()
Возвраты, ли это
SyncProvider реализация может выполнить синхронизацию между a RowSet возразите и SQL VIEW в том, источнике данных, от который RowSet объект получил свои данные. |
public static final int GRADE_NONE
SyncProvider реализация возвращая этот класс просто попытается записать обновления в RowSet возразите против базового источника данных, не проверяя законность любых данных.public static final int GRADE_CHECK_MODIFIED_AT_COMMIT
SyncProvider реализация возвращая этот класс проверит только строки, которые изменились.public static final int GRADE_CHECK_ALL_AT_COMMIT
SyncProvider реализация возвращая этот класс проверит все строки, включая строки, которые не изменились.public static final int GRADE_LOCK_WHEN_MODIFIED
SyncProvider реализация возвращая этот класс заблокирует строку в инициирующем источнике данных.public static final int GRADE_LOCK_WHEN_LOADED
SyncProvider реализация возвращая этот класс заблокирует все представление и/или таблицу, на которую влияет исходный оператор, используемый, чтобы заполнить a RowSet объект.public static final int DATASOURCE_NO_LOCK
SyncProvider реализации если иначе не направлено a RowSet объект.public static final int DATASOURCE_ROW_LOCK
RowSet объект, который использует это SyncProvider объект.public static final int DATASOURCE_TABLE_LOCK
RowSet объект, который использует это SyncProvider объект.public static final int DATASOURCE_DB_LOCK
RowSet объект, который использует это SyncProvider объект.public static final int UPDATABLE_VIEW_SYNC
SyncProvider реализация поддерживает синхронизацию между a RowSet возразите и SQL VIEW используемый, чтобы заполнить это.public static final int NONUPDATABLE_VIEW_SYNC
SyncProvider реализация не поддерживает синхронизацию между a RowSet возразите и SQL VIEW используемый, чтобы заполнить это.public SyncProvider()
SyncProvider объект.public abstract String getProviderID()
SyncProvider объект.String объект с полностью определенным именем class этого SyncProvider объектpublic abstract RowSetReader getRowSetReader()
javax.sql.RowSetReader объект, который может использоваться, чтобы заполнить a RowSet объект с данными.javax.sql.RowSetReader объектpublic abstract RowSetWriter getRowSetWriter()
javax.sql.RowSetWriter объект, который может использоваться, чтобы записать a RowSet данные объекта назад к базовому источнику данных.javax.sql.RowSetWriter объектpublic abstract int getProviderGrade()
RowSet объект может ожидать от этого SyncProvider объект.public abstract void setDataSourceLock(int datasource_lock)
throws SyncProviderException
SyncProvider чтобы скорректировать его поведение, увеличиваясь или уменьшая уровень оптимизма, это предусматривает успешную синхронизацию.datasource_lock - одна из следующих констант, указывающих на уровень серьезности блокировки источника данных, потребовала:
SyncProvider.DATASOURCE_NO_LOCK,
SyncProvider.DATASOURCE_ROW_LOCK,
SyncProvider.DATASOURCE_TABLE_LOCK,
SyncProvider.DATASOURCE_DB_LOCK,
SyncProviderException - если неподдерживаемый уровень блокировки источника данных устанавливается.getDataSourceLock()public abstract int getDataSourceLock()
throws SyncProviderException
SyncProvider реализация.SyncProvider объект; одно из следующего:
SyncProvider.DATASOURCE_NO_LOCK,
SyncProvider.DATASOURCE_ROW_LOCK,
SyncProvider.DATASOURCE_TABLE_LOCK,
SyncProvider.DATASOURCE_DB_LOCK
SyncProviderException - если ошибка происходит, определяя уровень блокировки источника данных.setDataSourceLock(int)public abstract int supportsUpdatableView()
SyncProvider реализация может выполнить синхронизацию между a RowSet возразите и SQL VIEW в том, источнике данных, от который RowSet объект получил свои данные.int высказывание, ли это SyncProvider объект поддерживает обновление SQL VIEW; одно из следующего: SyncProvider. UPDATABLE_VIEW_SYNC, SyncProvider. NONUPDATABLE_VIEW_SYNCpublic abstract String getVersion()
SyncProvider экземпляр.String детализация версии выпуска SyncProvider реализацияpublic abstract String getVendor()
SyncProvider экземплярString детализация имени поставщика этого SyncProvider реализация
Для дальнейшей ссылки API и документации разработчика, см. Java Документация SE. Та документация содержит более подробные, предназначенные разработчиком описания, с концептуальными краткими обзорами, определениями сроков, обходных решений, и рабочих примеров кода.
Авторское право © 1993, 2013, Oracle и/или его филиалы. Все права защищены.
Проект сборка-b92