jdk/src/java.sql.rowset/share/classes/javax/sql/rowset/spi/package.html
changeset 45126 9c8ac4361d9f
parent 32210 958d823579c3
child 45641 8b258ad5b8bc
equal deleted inserted replaced
45125:36fd126403f0 45126:9c8ac4361d9f
     1 <!DOCTYPE doctype PUBLIC "-//w3c//dtd html 4.0 transitional//en">
     1 <!doctype html>
     2 <html>
     2 <html lang="en">
     3 <head>
     3 <head>
     4 
     4 
     5   <meta http-equiv="Content-Type"
     5   <meta http-equiv="Content-Type"
     6  content="text/html; charset=iso-8859-1">
     6  content="text/html; charset=iso-8859-1">
     7 
     7 
     8   <meta name="GENERATOR"
     8   <meta name="GENERATOR"
     9  content="Mozilla/4.79 [en] (Windows NT 5.0; U) [Netscape]">
     9  content="Mozilla/4.79 [en] (Windows NT 5.0; U) [Netscape]">
    10 <!--
    10 <!--
    11 Copyright (c) 2003, 2014, Oracle and/or its affiliates. All rights reserved.
    11 Copyright (c) 2003, 2017, Oracle and/or its affiliates. All rights reserved.
    12 DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
    12 DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
    13 
    13 
    14 This code is free software; you can redistribute it and/or modify it
    14 This code is free software; you can redistribute it and/or modify it
    15 under the terms of the GNU General Public License version 2 only, as
    15 under the terms of the GNU General Public License version 2 only, as
    16 published by the Free Software Foundation.  Oracle designates this
    16 published by the Free Software Foundation.  Oracle designates this
    32 questions.
    32 questions.
    33 -->
    33 -->
    34   <title>javax.sql.rowset.spi</title>
    34   <title>javax.sql.rowset.spi</title>
    35 
    35 
    36 </head>
    36 </head>
    37   <body bgcolor="#ffffff">
    37   <body>
    38 
    38 
    39 The standard classes and interfaces that a third party vendor has to
    39 The standard classes and interfaces that a third party vendor has to
    40 use in its implementation of a synchronization provider. These classes and
    40 use in its implementation of a synchronization provider. These classes and
    41 interfaces are referred to as the Service Provider Interface (SPI). A vendor may
    41 interfaces are referred to as the Service Provider Interface (SPI). A vendor may
    42 have its implementation included on the JDBC web page that lists available
    42 have its implementation included on the JDBC web page that lists available
    55 <li><a href="#resolving">4.0 Resolving Synchronization Conflicts</a>
    55 <li><a href="#resolving">4.0 Resolving Synchronization Conflicts</a>
    56 <li><a href="#relspec">5.0 Related Specifications</a>
    56 <li><a href="#relspec">5.0 Related Specifications</a>
    57 <li><a href="#reldocs">6.0 Related Documentation</a>
    57 <li><a href="#reldocs">6.0 Related Documentation</a>
    58 </ul>
    58 </ul>
    59 
    59 
    60 <h3><a name="pkgspec">1.0 Package Specification</a></h3>
    60 <h3><a id="pkgspec">1.0 Package Specification</a></h3>
    61 <P>
    61 <P>
    62 The following classes and interfaces make up the <code>javax.sql.rowset.spi</code>
    62 The following classes and interfaces make up the <code>javax.sql.rowset.spi</code>
    63 package:
    63 package:
    64 <UL>
    64 <UL>
    65   <LI><code>SyncFactory</code>
    65   <LI><code>SyncFactory</code>
   200 levels of synchronization, thus giving <code>RowSet</code> objects a choice of
   200 levels of synchronization, thus giving <code>RowSet</code> objects a choice of
   201 synchronization mechanisms.  A vendor can make its implementation available by
   201 synchronization mechanisms.  A vendor can make its implementation available by
   202 registering the fully qualified class name with Oracle Corporation at
   202 registering the fully qualified class name with Oracle Corporation at
   203 <code>jdbc@sun.com</code>. This process is discussed in further detail below.
   203 <code>jdbc@sun.com</code>. This process is discussed in further detail below.
   204 
   204 
   205 <h3><a name="arch">2.0 Service Provider Interface Architecture</a></h3>
   205 <h3><a id="arch">2.0 Service Provider Interface Architecture</a></h3>
   206 <b>2.1 Overview</b>
   206 <b>2.1 Overview</b>
   207 <p>
   207 <p>
   208 The Service Provider Interface provides a pluggable mechanism by which
   208 The Service Provider Interface provides a pluggable mechanism by which
   209 <code>SyncProvider</code> implementations can be registered and then generated when
   209 <code>SyncProvider</code> implementations can be registered and then generated when
   210 required. The lazy reference mechanism employed by the <code>SyncFactory</code> limits
   210 required. The lazy reference mechanism employed by the <code>SyncFactory</code> limits
   265 </ul>
   265 </ul>
   266 <p>
   266 <p>
   267 These policies are explored in more detail in the <a href="SyncFactory.html">
   267 These policies are explored in more detail in the <a href="SyncFactory.html">
   268 <code>SyncFactory</code></a> class.
   268 <code>SyncFactory</code></a> class.
   269 
   269 
   270 <h3><a name="impl">3.0 SyncProvider Implementer's Guide</a></h3>
   270 <h3><a id="impl">3.0 SyncProvider Implementer's Guide</a></h3>
   271 
   271 
   272 <b>3.1 Requirements</b>
   272 <b>3.1 Requirements</b>
   273 <p>
   273 <p>
   274 A compliant <code>SyncProvider</code> implementation that is fully pluggable
   274 A compliant <code>SyncProvider</code> implementation that is fully pluggable
   275 into the <code>SyncFactory</code> <b>must</b> extend and implement all
   275 into the <code>SyncFactory</code> <b>must</b> extend and implement all
   440 <pre>
   440 <pre>
   441        Enumeration e = SyncFactory.getRegisteredProviders();
   441        Enumeration e = SyncFactory.getRegisteredProviders();
   442 </pre>
   442 </pre>
   443 
   443 
   444 
   444 
   445 <h3><a name="resolving">4.0 Resolving Synchronization Conflicts</a></h3>
   445 <h3><a id="resolving">4.0 Resolving Synchronization Conflicts</a></h3>
   446 
   446 
   447 The interface <code>SyncResolver</code> provides a way for an application to
   447 The interface <code>SyncResolver</code> provides a way for an application to
   448 decide manually what to do when a conflict occurs. When the <code>CachedRowSet</code>
   448 decide manually what to do when a conflict occurs. When the <code>CachedRowSet</code>
   449 method <code>acceptChanges</code> finishes and has detected one or more conflicts,
   449 method <code>acceptChanges</code> finishes and has detected one or more conflicts,
   450 it throws a <code>SyncProviderException</code> object.  An application can
   450 it throws a <code>SyncProviderException</code> object.  An application can
   485 decides that a value in the <code>RowSet</code> object should be the one to
   485 decides that a value in the <code>RowSet</code> object should be the one to
   486 persist, the application or user can overwrite the data source value with it.
   486 persist, the application or user can overwrite the data source value with it.
   487 <P>
   487 <P>
   488 The comment for the <code>SyncResolver</code> interface has more detail.
   488 The comment for the <code>SyncResolver</code> interface has more detail.
   489 
   489 
   490 <h3><a name="relspec">5.0 Related Specifications</a></h3>
   490 <h3><a id="relspec">5.0 Related Specifications</a></h3>
   491 <ul>
   491 <ul>
   492 <li><a href="http://docs.oracle.com/javase/jndi/tutorial/index.html">JNDI</a>
   492 <li><a href="http://docs.oracle.com/javase/jndi/tutorial/index.html">JNDI</a>
   493 <li><a href="{@docRoot}/../technotes/guides/logging/index.html">Java Logging
   493 <li><a href="{@docRoot}/../technotes/guides/logging/index.html">Java Logging
   494 APIs</a>
   494 APIs</a>
   495 </ul>
   495 </ul>
   496 <h3><a name="reldocs">6.0 Related Documentation</a></h3>
   496 <h3><a id="reldocs">6.0 Related Documentation</a></h3>
   497 <ul>
   497 <ul>
   498 <li><a href="{@docRoot}/../technotes/tools/index.html#basic">System
   498 <li><a href="{@docRoot}/../technotes/tools/index.html#basic">System
   499 properties</a>
   499 properties</a>
   500 <li>Resource Files
   500 <li>Resource Files
   501 <li><a href="http://docs.oracle.com/javase/tutorial/jdbc/">DataSource for JDBC
   501 <li><a href="http://docs.oracle.com/javase/tutorial/jdbc/">DataSource for JDBC