|
Spec-Zone .ru
спецификации, руководства, описания, API
|
public interface WebRowSet extends CachedRowSet
WebRowSet должен реализовать.
WebRowSetImpl обеспечивает стандартную ссылочную реализацию, которая может быть расширена если требующийся. Стандартное определение XML-схемы WebRowSet доступно в следующем URI:
Это описывает стандартный формат XML-документа, требуемый, описывая a
RowSet объект в XML и должен использоваться быть всеми стандартными реализациями WebRowSet интерфейс, чтобы гарантировать функциональную совместимость. Кроме того, WebRowSet схема использует определенные аннотации SQL/XML-схемы, таким образом гарантируя большую перекрестную функциональную совместимость платформы. Это - усилие в настоящий момент полным ходом в организации ISO. Определение SQL/XML доступно в следующем URI: Определение схемы описывает внутренние данные a
RowSet объект в трех отличных областях: RowSet свойства.
WebRowSet объект. Описанные метаданные близко выровненные метаданных, доступных в базовом java.sql.ResultSet интерфейс.
WebRowSet объект) и текущие данные. Отслеживая дельту между исходными данными и текущими данными, a WebRowSet поддерживает возможность синхронизировать изменения в ее данных назад к инициирующему источнику данных.
WebRowSet реализация должна использовать XML-схему, чтобы описать обновление, вставить, и удалить операции и описать состояние a WebRowSet объект в XML.
WebRowSet Объект к XML В этом примере, a WebRowSet объект создается и заполняется с простыми 2 столбцами, 5 таблиц строки от источника данных. Наличие этих 5 строк в a WebRowSet объект позволяет описать их в XML. Метаданные, описывающие различные стандартные свойства JavaBeans как определено в RowSet, взаимодействуют через интерфейс плюс стандартные свойства, определенные в CachedRowSetИнтерфейс ТМ обеспечивает ключевые детали, которые описывают свойства WebRowSet. Выведение WebRowSet возражает против XML, используя стандарт writeXml методы описывают внутренние свойства следующим образом:
<properties>
<command>select co1, col2 from test_table</command>
<concurrency>1</concurrency>
<datasource/>
<escape-processing>true</escape-processing>
<fetch-direction>0</fetch-direction>
<fetch-size>0</fetch-size>
<isolation-level>1</isolation-level>
<key-columns/>
<map/>
<max-field-size>0</max-field-size>
<max-rows>0</max-rows>
<query-timeout>0</query-timeout>
<read-only>false</read-only>
<rowset-type>TRANSACTION_READ_UNCOMMITED</rowset-type>
<show-deleted>false</show-deleted>
<table-name/>
<url>jdbc:thin:oracle</url>
<sync-provider>
<sync-provider-name>.com.rowset.provider.RIOptimisticProvider</sync-provider-name>
<sync-provider-vendor>Oracle Corporation</sync-provider-vendor>
<sync-provider-version>1.0</sync-provider-name>
<sync-provider-grade>LOW</sync-provider-grade>
<data-source-lock>NONE</data-source-lock>
</sync-provider>
</properties>
Метаданные, описывающие составление из WebRowSet, описываются в XML как детализировано ниже. Примечание оба столбца описывается между column-definition теги.
<metadata>
<column-count>2</column-count>
<column-definition>
<column-index>1</column-index>
<auto-increment>false</auto-increment>
<case-sensitive>true</case-sensitive>
<currency>false</currency>
<nullable>1</nullable>
<signed>false</signed>
<searchable>true</searchable>
<column-display-size>10</column-display-size>
<column-label>COL1</column-label>
<column-name>COL1</column-name>
<schema-name/>
<column-precision>10</column-precision>
<column-scale>0</column-scale>
<table-name/>
<catalog-name/>
<column-type>1</column-type>
<column-type-name>CHAR</column-type-name>
</column-definition>
<column-definition>
<column-index>2</column-index>
<auto-increment>false</auto-increment>
<case-sensitive>false</case-sensitive>
<currency>false</currency>
<nullable>1</nullable>
<signed>true</signed>
<searchable>true</searchable>
<column-display-size>39</column-display-size>
<column-label>COL2</column-label>
<column-name>COL2</column-name>
<schema-name/>
<column-precision>38</column-precision>
<column-scale>0</column-scale>
<table-name/>
<catalog-name/>
<column-type>3</column-type>
<column-type-name>NUMBER</column-type-name>
</column-definition>
</metadata>
Детализировав, как свойства и метаданные описываются, следующие детали как содержание a WebRowSet объект описывается в XML. Отметьте, что это описывает a WebRowSet объект, который не подвергся никаким модификациям начиная с его инстанцирования. A currentRow тег отображается на каждую строку структуры таблицы что WebRowSet объект обеспечивает. A columnValue тег может содержать любого stringData или binaryData тег, согласно типу SQL, на который значение XML отображается назад. binaryData тег содержит данные в кодировании Base64 и обычно используется для BLOB и CLOB введите данные.
<data>
<currentRow>
<columnValue>
firstrow
</columnValue>
<columnValue>
1
</columnValue>
</currentRow>
<currentRow>
<columnValue>
secondrow
</columnValue>
<columnValue>
2
</columnValue>
</currentRow>
<currentRow>
<columnValue>
thirdrow
</columnValue>
<columnValue>
3
</columnValue>
</currentRow>
<currentRow>
<columnValue>
fourthrow
</columnValue>
<columnValue>
4
</columnValue>
</currentRow>
</data>
WebRowSet объект включает просто перемещение в строку, которая будет удалена и затем вызов метода deleteRow, как в любом другом RowSet объект. Следующие две строки кода, в котором wrs является a WebRowSet возразите, удалите третью строку.
wrs.absolute(3);
wrs.deleteRow();
XML-описание показывает, что третья строка отмечается как a deleteRow, который устраняет третью строку в WebRowSet объект.
<data>
<currentRow>
<columnValue>
firstrow
</columnValue>
<columnValue>
1
</columnValue>
</currentRow>
<currentRow>
<columnValue>
secondrow
</columnValue>
<columnValue>
2
</columnValue>
</currentRow>
<deleteRow>
<columnValue>
thirdrow
</columnValue>
<columnValue>
3
</columnValue>
</deleteRow>
<currentRow>
<columnValue>
fourthrow
</columnValue>
<columnValue>
4
</columnValue>
</currentRow>
</data>
WebRowSet объект может вставить новую строку, перемещаясь в строку вставки, вызывая соответствующие updater методы для каждого столбца в строке, и затем вызывая метод insertRow. wrs.moveToInsertRow(); wrs.updateString(1, "fifththrow"); wrs.updateString(2, "5"); wrs.insertRow();Следующий фрагмент кода изменяет второе значение столбца в строке, только вставленной. Отметьте, что этот код применяется, когда новые строки вставляются прямо после текущей строки, которая является почему метод
next перемещает курсор в корректную строку. Вызов метода acceptChanges пишет изменение в источник данных. wrs.moveToCurrentRow(); wrs.next(); wrs.updateString(2, "V"); wrs.acceptChanges(); :Описание этого в XML демонстрирует, где код Java вставляет новую строку и затем выполняет обновление о недавно вставленной строке на отдельном поле.
<data>
<currentRow>
<columnValue>
firstrow
</columnValue>
<columnValue>
1
</columnValue>
</currentRow>
<currentRow>
<columnValue>
secondrow
</columnValue>
<columnValue>
2
</columnValue>
</currentRow>
<currentRow>
<columnValue>
newthirdrow
</columnValue>
<columnValue>
III
</columnValue>
</currentRow>
<insertRow>
<columnValue>
fifthrow
</columnValue>
<columnValue>
5
</columnValue>
<updateValue>
V
</updateValue>
</insertRow>
<currentRow>
<columnValue>
fourthrow
</columnValue>
<columnValue>
4
</columnValue>
</currentRow>
</date>
wrs.absolute(5); wrs.updateString(1, "new4thRow"); wrs.updateString(2, "IV"); wrs.updateRow();В XML это описывается
modifyRow тег. И исходные и новые значения содержатся в пределах тега в исходных целях отслеживания строки.
<data>
<currentRow>
<columnValue>
firstrow
</columnValue>
<columnValue>
1
</columnValue>
</currentRow>
<currentRow>
<columnValue>
secondrow
</columnValue>
<columnValue>
2
</columnValue>
</currentRow>
<currentRow>
<columnValue>
newthirdrow
</columnValue>
<columnValue>
III
</columnValue>
</currentRow>
<currentRow>
<columnValue>
fifthrow
</columnValue>
<columnValue>
5
</columnValue>
</currentRow>
<modifyRow>
<columnValue>
fourthrow
</columnValue>
<updateValue>
new4thRow
</updateValue>
<columnValue>
4
</columnValue>
<updateValue>
IV
</updateValue>
</modifyRow>
</data>
JdbcRowSet, CachedRowSet, FilteredRowSet, JoinRowSet| Модификатор и Тип | Поле и Описание |
|---|---|
static String |
PUBLIC_XML_SCHEMA
Общедоступный идентификатор для определения XML-схемы, которое определяет XML-тэги и их допустимые значения для a
WebRowSet реализация. |
static String |
SCHEMA_SYSTEM_ID
URL для файла определения XML-схемы, который определяет XML-тэги и их допустимые значения для a
WebRowSet реализация. |
COMMIT_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| Модификатор и Тип | Метод и Описание |
|---|---|
void |
readXml(InputStream iStream)
Читает поток базируемый ввод XML, чтобы заполнить это
WebRowSet объект. |
void |
readXml(Reader reader)
Чтения a
WebRowSet объект в его XML форматирует от данного Reader объект. |
void |
writeXml(OutputStream oStream)
Пишут данные, свойства, и метаданные для этого
WebRowSet возразите против данного OutputStream объект в формате XML. |
void |
writeXml(ResultSet rs, OutputStream oStream)
Заполняет это
WebRowSet объект с содержанием данного ResultSet возразите и пишет его данные, свойства, и метаданные к данному OutputStream объект в формате XML. |
void |
writeXml(ResultSet rs, Writer writer)
Заполняет это
WebRowSet объект с содержанием данного ResultSet возразите и пишет его данные, свойства, и метаданные к данному Writer объект в формате XML. |
void |
writeXml(Writer writer)
Пишут данные, свойства, и метаданные для этого
WebRowSet возразите против данного Writer объект в формате XML. |
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, 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, unsetMatchColumnstatic final String PUBLIC_XML_SCHEMA
WebRowSet реализация.static final String SCHEMA_SYSTEM_ID
WebRowSet реализация.void readXml(Reader reader) throws SQLException
WebRowSet объект в его XML форматирует от данного Reader объект.reader - java.io.Reader поток тот, от который это WebRowSet объект будет заполненSQLException - если ошибка доступа к базе данных происходитvoid readXml(InputStream iStream) throws SQLException, IOException
WebRowSet объект.iStream - java.io.InputStream от которого это WebRowSet объект будет заполненSQLException - если ошибка доступа источника данных происходитIOException - если исключение IO происходитvoid writeXml(ResultSet rs, Writer writer) throws SQLException
WebRowSet объект с содержанием данного ResultSet возразите и пишет его данные, свойства, и метаданные к данному Writer объект в формате XML. ОТМЕТЬТЕ: WebRowSet курсор может быть перемещен, чтобы выписать содержание к источнику данных XML. Если реализовано таким образом, курсор должен быть возвращен к его позиции только до writeXml() вызвать.
rs - ResultSet объект, с которым можно заполнить это WebRowSet объектwriter - java.io.Writer возразите, чтобы записать в.SQLException - если ошибка происходит, выписывая содержание набора строк в формате XMLvoid writeXml(ResultSet rs, OutputStream oStream) throws SQLException, IOException
WebRowSet объект с содержанием данного ResultSet возразите и пишет его данные, свойства, и метаданные к данному OutputStream объект в формате XML. ОТМЕТЬТЕ: WebRowSet курсор может быть перемещен, чтобы выписать содержание к источнику данных XML. Если реализовано таким образом, курсор должен быть возвращен к его позиции только до writeXml() вызвать.
rs - ResultSet объект, с которым можно заполнить это WebRowSet объектoStream - java.io.OutputStream записать вSQLException - если ошибка доступа источника данных происходитIOException - если исключение IO происходитvoid writeXml(Writer writer) throws SQLException
WebRowSet возразите против данного Writer объект в формате XML.writer - java.io.Writer поток, чтобы записать вSQLException - если ошибка происходит, выписывая содержание набора строк с XMLvoid writeXml(OutputStream oStream) throws SQLException, IOException
WebRowSet возразите против данного OutputStream объект в формате XML.oStream - java.io.OutputStream поток, чтобы записать вSQLException - если ошибка доступа источника данных происходитIOException - если исключение IO происходит
Для дальнейшей ссылки API и документации разработчика, см. Java Документация SE. Та документация содержит более подробные, предназначенные разработчиком описания, с концептуальными краткими обзорами, определениями сроков, обходных решений, и рабочих примеров кода.
Авторское право © 1993, 2013, Oracle и/или его филиалы. Все права защищены.
Проект сборка-b92