Spec-Zone .ru
спецификации, руководства, описания, API
|
public abstract class SyncProvider extends Object
RowSet
объекты. A SyncProvider
реализация является классом, который расширяется SyncProvider
абстрактный класс. A SyncProvider
реализация идентифицируется уникальным ID, который является его полностью определенным именем класса. Это имя должно быть зарегистрировано в SyncFactory
SPI, таким образом делая реализацию, доступную для всех RowSet
реализации. Механизм фабрики в ссылочной реализации использует это имя, чтобы инстанцировать реализации, которая может тогда обеспечить a RowSet
объект с его читателем (a javax.sql.RowSetReader
объект) и его писатель (a javax.sql.RowSetWriter
объект).
Jdbc RowSet
Спецификация реализаций обеспечивает две ссылочных реализации SyncProvider
абстрактный класс: RIOptimisticProvider
и RIXMLProvider
. RIOptimisticProvider
может установить любого RowSet
реализация с a RowSetReader
объект и a RowSetWriter
объект. Однако, только RIXMLProvider
реализация может установить XmlReader
возразите и XmlWriter
объект. A WebRowSet
возразите использует XmlReader
возразите, чтобы считать данные в формате XML, чтобы заполнить себя с теми данными. Это использует XmlWriter
возразите, чтобы записать себя в поток или java.io.Writer
объект в формате XML.
SyncProvider
реализации, следующее должно быть отмечено: SyncProvider
реализация является своим полностью определенным именем класса. 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
имя класса реализации с 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
класс обеспечивает две константы, чтобы указать, поддерживает ли реализация обновление SQL VIEW
. NONUPDATABLE_VIEW_SYNC
- Указывает на это a SyncProvider
реализация не поддерживает синхронизацию с SQL VIEW
как базовый источник данных для RowSet
объект. UPDATABLE_VIEW_SYNC
- Указывает на это a SyncProvider
реализация поддерживает синхронизацию с SQL VIEW
как базовый источник данных. Значение по умолчанию для a RowSet
объект не быть обновляемым, если это было заполнено с данными от SQL VIEW
.
SyncProvider
КонстантыSyncProvider
класс обеспечивает три набора констант, которые используются в качестве возвращаемых значений или параметров для 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
объект с полностью определенным именем класса этого 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
SyncProviderExceptiom
- если ошибка происходит, определяя уровень блокировки источника данных.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 и документации разработчика, см.
Авторское право © 1993, 2011, Oracle и/или его филиалы. Все права защищены.