Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
PojavLauncherTeam
GitHub Repository: PojavLauncherTeam/mobile
Path: blob/master/src/java.sql/share/classes/javax/sql/XADataSource.java
41152 views
1
/*
2
* Copyright (c) 2000, 2020, Oracle and/or its affiliates. All rights reserved.
3
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
4
*
5
* This code is free software; you can redistribute it and/or modify it
6
* under the terms of the GNU General Public License version 2 only, as
7
* published by the Free Software Foundation. Oracle designates this
8
* particular file as subject to the "Classpath" exception as provided
9
* by Oracle in the LICENSE file that accompanied this code.
10
*
11
* This code is distributed in the hope that it will be useful, but WITHOUT
12
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
13
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
14
* version 2 for more details (a copy is included in the LICENSE file that
15
* accompanied this code).
16
*
17
* You should have received a copy of the GNU General Public License version
18
* 2 along with this work; if not, write to the Free Software Foundation,
19
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
20
*
21
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
22
* or visit www.oracle.com if you need additional information or have any
23
* questions.
24
*/
25
26
package javax.sql;
27
28
import java.sql.*;
29
30
/**
31
* A factory for {@code XAConnection} objects that is used internally.
32
* An object that implements the {@code XADataSource} interface is
33
* typically registered with a naming service that uses the
34
* Java Naming and Directory Interface
35
* (JNDI).
36
* <p>
37
* An implementation of {@code XADataSource} must include a public no-arg
38
* constructor.
39
* @since 1.4
40
*/
41
42
public interface XADataSource extends CommonDataSource {
43
44
/**
45
* Attempts to establish a physical database connection that can be
46
* used in a distributed transaction.
47
*
48
* @return an {@code XAConnection} object, which represents a
49
* physical connection to a data source, that can be used in
50
* a distributed transaction
51
* @throws SQLException if a database access error occurs
52
* @throws SQLFeatureNotSupportedException if the JDBC driver does not support
53
* this method
54
* @throws SQLTimeoutException when the driver has determined that the
55
* timeout value specified by the {@code setLoginTimeout} method
56
* has been exceeded and has at least tried to cancel the
57
* current database connection attempt
58
* @since 1.4
59
*/
60
XAConnection getXAConnection() throws SQLException;
61
62
/**
63
* Attempts to establish a physical database connection, using the given
64
* user name and password. The connection that is returned is one that
65
* can be used in a distributed transaction.
66
*
67
* @param user the database user on whose behalf the connection is being made
68
* @param password the user's password
69
* @return an {@code XAConnection} object, which represents a
70
* physical connection to a data source, that can be used in
71
* a distributed transaction
72
* @throws SQLException if a database access error occurs
73
* @throws SQLFeatureNotSupportedException if the JDBC driver does not support
74
* this method
75
* @throws SQLTimeoutException when the driver has determined that the
76
* timeout value specified by the {@code setLoginTimeout} method
77
* has been exceeded and has at least tried to cancel the
78
* current database connection attempt
79
* @since 1.4
80
*/
81
XAConnection getXAConnection(String user, String password)
82
throws SQLException;
83
84
/**
85
* {@inheritDoc}
86
* @since 1.4
87
*/
88
@Override
89
java.io.PrintWriter getLogWriter() throws SQLException;
90
91
/**
92
* {@inheritDoc}
93
* @since 1.4
94
*/
95
@Override
96
void setLogWriter(java.io.PrintWriter out) throws SQLException;
97
98
/**
99
* {@inheritDoc}
100
* @since 1.4
101
*/
102
@Override
103
void setLoginTimeout(int seconds) throws SQLException;
104
105
/**
106
* {@inheritDoc}
107
* @since 1.4
108
*/
109
@Override
110
int getLoginTimeout() throws SQLException;
111
112
// JDBC 4.3
113
114
/**
115
* Creates a new {@code XAConnectionBuilder} instance
116
* @implSpec
117
* The default implementation will throw a {@code SQLFeatureNotSupportedException}.
118
* @return The XAConnectionBuilder instance that was created
119
* @throws SQLException if an error occurs creating the builder
120
* @throws SQLFeatureNotSupportedException if the driver does not support sharding
121
* @since 9
122
* @see XAConnectionBuilder
123
*/
124
default XAConnectionBuilder createXAConnectionBuilder() throws SQLException {
125
throw new SQLFeatureNotSupportedException("createXAConnectionBuilder not implemented");
126
};
127
128
}
129
130