equal
deleted
inserted
replaced
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 |