public interface WebRowSet
The standard interface that all implementations of a WebRowSet
must implement.
WebRowSetImpl provides the standard
reference implementation, which may be extended if required.
The standard WebRowSet XML Schema definition is available at the following URI:
http://java.sun.com/xml/ns/jdbc/webrowset.xsdIt describes the standard XML document format required when describing a
RowSet object in XML and must be used be all standard implementations
of the WebRowSet interface to ensure interoperability. In addition,
the WebRowSet schema uses specific SQL/XML Schema annotations,
thus ensuring greater cross
platform inter-operability. This is an effort currently under way at the ISO
organization. The SQL/XML definition is available at the following URI:
http://standards.iso.org/iso/9075/2002/12/sqlxmlThe schema definition describes the internal data of a
RowSet object
in three distinct areas:
RowSet properties.
WebRowSet object. The metadata described is closely aligned with the
metadata accessible in the underlying java.sql.ResultSet interface.
WebRowSet object) and the current
data. By keeping track of the delta between the original data and the current data,
a WebRowSet maintains
the ability to synchronize changes in its data back to the originating data source.
WebRowSet implementation
should use the XML Schema to describe update, insert, and delete operations
and to describe the state of a WebRowSet object in XML.
WebRowSet Object to XML
In this example, a WebRowSet object is created and populated with a simple 2 column,
5 row table from a data source. Having the 5 rows in a WebRowSet object
makes it possible to describe them in XML. The
metadata describing the various standard JavaBeans properties as defined
in the RowSet interface plus the standard properties defined in
the CachedRowSetTM interface
provide key details that describe WebRowSet
properties. Outputting the WebRowSet object to XML using the standard
writeXml methods describes the internal properties as follows:
<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>Sun Microsystems</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>
The meta-data describing the make up of the WebRowSet is described
in XML as detailed below. Note both columns are described between the
column-definition tags.
<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>
Having detailed how the properties and metadata are described, the following details
how the contents of a WebRowSet object is described in XML. Note, that
this describes a WebRowSet object that has not undergone any
modifications since its instantiation.
A currentRow tag is mapped to each row of the table structure that the
WebRowSet object provides. A columnValue tag may contain
either the stringData or binaryData tag, according to
the SQL type that
the XML value is mapping back to. The binaryData tag contains data in the
Base64 encoding and is typically used for BLOB and CLOB type data.
<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 object involves simply moving to the row
to be deleted and then calling the method deleteRow, as in any other
RowSet object. The following
two lines of code, in which wrs is a WebRowSet object, delete
the third row.
wrs.absolute(3); wrs.deleteRow();
deleteRow,
which eliminates the third row in the WebRowSet object.
<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>
insertRow.
wrs.moveToInsertRow(); wrs.updateString(1, "fifththrow"); wrs.updateString(2, "5"); wrs.insertRow();
next moves the cursor to the correct row.
Calling the method acceptChanges writes the change to the data source.
wrs.moveToCurrentRow(); wrs.next(); wrs.updateString(2, "V"); wrs.acceptChanges(); :
<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();
modifyRow tag. Both the original and new
values are contained within the tag for original row tracking purposes.
<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| Field Summary | |
|---|---|
static String |
PUBLIC_XML_SCHEMA
The public identifier for the XML Schema definition that defines the XML tags and their valid values for a WebRowSet implementation. |
static String |
SCHEMA_SYSTEM_ID
The URL for the XML Schema definition file that defines the XML tags and their valid values for a WebRowSet implementation. |
| Fields inherited from interface javax.sql.rowset.CachedRowSet |
|---|
COMMIT_ON_ACCEPT_CHANGES |
| Fields inherited from interface 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 |
| Method Summary | |
|---|---|
void |
readXml(InputStream iStream)
Reads a stream based XML input to populate this WebRowSet
object. |
void |
readXml(Reader reader)
Reads a WebRowSet object in its XML format from the given
Reader object. |
void |
writeXml(OutputStream oStream)
Writes the data, properties, and metadata for this WebRowSet object
to the given OutputStream object in XML format. |
void |
writeXml(ResultSet rs,
OutputStream oStream)
Populates this WebRowSet object with
the contents of the given ResultSet object and writes its
data, properties, and metadata
to the given OutputStream object in XML format. |
void |
writeXml(ResultSet rs,
Writer writer)
Populates this WebRowSet object with
the contents of the given ResultSet object and writes its
data, properties, and metadata
to the given Writer object in XML format. |
void |
writeXml(Writer writer)
Writes the data, properties, and metadata for this WebRowSet object
to the given Writer object in XML format. |
| Methods inherited from interface 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 |
| Methods inherited from interface javax.sql.rowset.Joinable |
|---|
getMatchColumnIndexes, getMatchColumnNames, setMatchColumn, setMatchColumn, setMatchColumn, setMatchColumn, unsetMatchColumn, unsetMatchColumn, unsetMatchColumn, unsetMatchColumn |
| Field Detail |
|---|
static final String PUBLIC_XML_SCHEMA
WebRowSet implementation.
static final String SCHEMA_SYSTEM_ID
WebRowSet implementation.
| Method Detail |
|---|
void readXml(Reader reader) throws SQLException
WebRowSet object in its XML format from the given
Reader object.
reader - the java.io.Reader stream from which this
WebRowSet object will be populated
SQLException - if a database access error occursvoid readXml(InputStream iStream) throws SQLException, IOException
WebRowSet
object.
iStream - the java.io.InputStream from which this
WebRowSet object will be populated
SQLException - if a data source access error occurs
IOException - if an IO exception occursvoid writeXml(ResultSet rs, Writer writer) throws SQLException
WebRowSet object with
the contents of the given ResultSet object and writes its
data, properties, and metadata
to the given Writer object in XML format.
NOTE: The WebRowSet cursor may be moved to write out the
contents to the XML data source. If implemented in this way, the cursor must
be returned to its position just prior to the writeXml() call.
rs - the ResultSet object with which to populate this
WebRowSet objectwriter - the java.io.Writer object to write to.
SQLException - if an error occurs writing out the rowset
contents in XML formatvoid writeXml(ResultSet rs, OutputStream oStream) throws SQLException, IOException
WebRowSet object with
the contents of the given ResultSet object and writes its
data, properties, and metadata
to the given OutputStream object in XML format.
NOTE: The WebRowSet cursor may be moved to write out the
contents to the XML data source. If implemented in this way, the cursor must
be returned to its position just prior to the writeXml() call.
rs - the ResultSet object with which to populate this
WebRowSet objectoStream - the java.io.OutputStream to write to
SQLException - if a data source access error occurs
IOException - if a IO exception occursvoid writeXml(Writer writer) throws SQLException
WebRowSet object
to the given Writer object in XML format.
writer - the java.io.Writer stream to write to
SQLException - if an error occurs writing out the rowset
contents to XMLvoid writeXml(OutputStream oStream) throws SQLException, IOException
WebRowSet object
to the given OutputStream object in XML format.
oStream - the java.io.OutputStream stream to write to
SQLException - if a data source access error occurs
IOException - if a IO exception occursCes informations proviennent du site de http://java.sun.com
Le contenu de cette page provient du site de Sun, et est généré depuis un cache sur l'infobrol après certains traitements automatisés. La présentation peut donc différer du document original, mais le contenu aussi. Vous pouvez utiliser ce bouton pour afficher la page originale du site de Sun :
Maintenir les pages en cache sur différents sites peut offrir plus de disponibilité.
Chaque page est indexée dans la base de donnée, ce qui permet de retrouver facilement les informations, au moyen des sommaires, du moteur de recherche interne, etc.
Des facilités sont mises en place pour que les membres de l'infobrol puissent effectuer des traductions en français des différents documents. Ceci devrait permettre aux débutants en programmation Java de consulter les API en français s'ils maîtrisent moins bien la langue de Shakespeare. Dans le cas où une traduction a été soumise, elle est disponible au moyen d'un lien en bas de page. Si la traduction a été validée, la page s'affiche par défaut en français, et un lien en bas de page permet d'atteindre la version en anglais.
Le code sur l'infobrol est automatiquement coloré selon la syntaxe, et les différents mots clés sont transformés en liens pour accéder rapidement aux informations.
Vous avez la possibilité de partager vos expériences en proposant vos propres extraits de code en utilisant le bouton "ajouter un commentaire" en bas de page. Si vous visitez simplement l'infobrol, vous avez déjà accès à cette fonction, mais si vous étes membre du brol, vous pouvez en plus utiliser des boutons supplémentaires de mise en forme, dont la coloration automatique de vos extraits de codes.
Vous pouvez modifier vos préférences dans votre profil pour ne plus afficher les interactions avec les réseaux sociaux sur ces pages.
7 mots clés dont 0 définis manuellement (plus d'information...).
Avertissement
Cette page ne possède pas encore de mots clés manuels, ceci est donc un exemple automatique (les niveaux de pertinence sont fictifs, mais les liens sont valables). Pour tester le nuage avec une page qui contient des mots définis manuellement, vous pouvez cliquer ici.Vous pouvez modifier vos préférences dans votre profil pour ne plus afficher le nuage de mots clés.
Recherche (afficher)
Utilisateur (masquer)
Navigation (masquer)
Apparence (afficher)
Stats (afficher)
Citation (masquer)