KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > hsqldb > jdbc > jdbcSavepoint


1 /* Copyright (c) 2001-2005, The HSQL Development Group
2  * All rights reserved.
3  *
4  * Redistribution and use in source and binary forms, with or without
5  * modification, are permitted provided that the following conditions are met:
6  *
7  * Redistributions of source code must retain the above copyright notice, this
8  * list of conditions and the following disclaimer.
9  *
10  * Redistributions in binary form must reproduce the above copyright notice,
11  * this list of conditions and the following disclaimer in the documentation
12  * and/or other materials provided with the distribution.
13  *
14  * Neither the name of the HSQL Development Group nor the names of its
15  * contributors may be used to endorse or promote products derived from this
16  * software without specific prior written permission.
17  *
18  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
19  * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
20  * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
21  * ARE DISCLAIMED. IN NO EVENT SHALL HSQL DEVELOPMENT GROUP, HSQLDB.ORG,
22  * OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
23  * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
24  * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
25  * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
26  * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
27  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
28  * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
29  */

30
31
32 package org.hsqldb.jdbc;
33
34 import java.sql.SQLException JavaDoc;
35 import java.sql.Savepoint JavaDoc;
36
37 import org.hsqldb.Trace;
38
39 /**
40  * The representation of a savepoint, which is a point within
41  * the current transaction that can be referenced from the
42  * <code>Connection.rollback</code> method. When a transaction
43  * is rolled back to a savepoint all changes made after that
44  * savepoint are undone.
45  * <p>
46  * Savepoints can be either named or unnamed. Unnamed
47  * savepoints
48  * are identified by an ID generated by the underlying
49  * data source.
50  *
51  *
52  * <!-- start Release-specific documentation -->
53  * <div class="ReleaseSpecificDocumentation">
54  * <h3>HSQLDB-Specific Information:</h3> <p>
55  *
56  * As the SQL 2003 standard does not provide for unnamed savepoints,
57  * this feature is not supported.<p>
58  *
59  * If the connection is autoCommit, setting savepoints has no effect as any
60  * such savepoint is cleared upon the execution of the first transactional
61  * statement. <p>
62
63  * </div>
64  * <!-- end release-specific documentation -->
65  *
66  *
67  * @author boucherb@users
68  * @since JDK 1.4, HSQLDB 1.7.2
69  */

70 public class jdbcSavepoint implements Savepoint JavaDoc {
71
72     String JavaDoc name;
73     jdbcConnection connection;
74
75     jdbcSavepoint(String JavaDoc name, jdbcConnection conn) throws SQLException JavaDoc {
76
77         if (name == null) {
78             throw Util.sqlException(Trace.INVALID_JDBC_ARGUMENT,
79                                     "name is null");
80         }
81
82         this.name = name;
83         connection = conn;
84     }
85
86     /**
87      * Retrieves the generated ID for the savepoint
88      * that this <code>Savepoint</code> object represents.
89      * @return the numeric ID of this savepoint
90      * @exception SQLException if this is a named
91      * savepoint
92      * @since 1.4
93      */

94     public int getSavepointId() throws SQLException JavaDoc {
95         throw Util.notSupported();
96     }
97
98     /**
99      * Retrieves the name of the savepoint that this
100      * <code>Savepoint</code> object represents. <p>
101      *
102      * @return the name of this savepoint
103      * @exception SQLException if this is an un-named
104      * savepoint
105      * @since 1.4
106      */

107     public String JavaDoc getSavepointName() throws SQLException JavaDoc {
108         return name;
109     }
110
111     public String JavaDoc toString() {
112         return super.toString() + "[name=" + name + "]";
113     }
114 }
115
Popular Tags