/*
* Copyright ( c ) 2000 , 2020 , Oracle and / or its affiliates . All rights reserved .
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER .
*
* This code is free software ; you can redistribute it and / or modify it
* under the terms of the GNU General Public License version 2 only , as
* published by the Free Software Foundation . Oracle designates this
* particular file as subject to the " Classpath " exception as provided
* by Oracle in the LICENSE file that accompanied this code .
*
* This code is distributed in the hope that it will be useful , but WITHOUT
* ANY WARRANTY ; without even the implied warranty of MERCHANTABILITY or
* FITNESS FOR A PARTICULAR PURPOSE . See the GNU General Public License
* version 2 for more details ( a copy is included in the LICENSE file that
* accompanied this code ) .
*
* You should have received a copy of the GNU General Public License version
* 2 along with this work ; if not , write to the Free Software Foundation ,
* Inc . , 51 Franklin St , Fifth Floor , Boston , MA 02110 - 1301 USA .
*
* Please contact Oracle , 500 Oracle Parkway , Redwood Shores , CA 94065 USA
* or visit www . oracle . com if you need additional information or have any
* questions .
*/
package javax.sql;
import java.sql.Connection;
import java.sql.ConnectionBuilder;
import java.sql.SQLException;
import java.sql.SQLFeatureNotSupportedException;
import java.sql.Wrapper;
/**
* < p > A factory for connections to the physical data source that this
* { @ code DataSource } object represents . An alternative to the
* { @ code DriverManager } facility , a { @ code DataSource } object
* is the preferred means of getting a connection . An object that implements
* the { @ code DataSource } interface will typically be
* registered with a naming service based on the
* Java Naming and Directory ( JNDI ) API .
* < P >
* The { @ code DataSource } interface is implemented by a driver vendor .
* There are three types of implementations :
* < OL >
* < LI > Basic implementation - - produces a standard { @ code Connection }
* object
* < LI > Connection pooling implementation - - produces a { @ code Connection }
* object that will automatically participate in connection pooling . This
* implementation works with a middle - tier connection pooling manager .
* < LI > Distributed transaction implementation - - produces a
* { @ code Connection } object that may be used for distributed
* transactions and almost always participates in connection pooling .
* This implementation works with a middle - tier
* transaction manager and almost always with a connection
* pooling manager .
* < / OL >
* < P >
* A { @ code DataSource } object has properties that can be modified
* when necessary . For example , if the data source is moved to a different
* server , the property for the server can be changed . The benefit is that
* because the data source ' s properties can be changed , any code accessing
* that data source does not need to be changed .
* < P >
* A driver that is accessed via a { @ code DataSource } object does not
* register itself with the { @ code DriverManager } . Rather , a
* { @ code DataSource } object is retrieved through a lookup operation
* and then used to create a { @ code Connection } object . With a basic
* implementation , the connection obtained through a { @ code DataSource }
* object is identical to a connection obtained through the
* { @ code DriverManager } facility .
* < p >
* An implementation of { @ code DataSource } must include a public no - arg
* constructor .
*
* @ since 1 . 4
*/
public interface DataSource extends CommonDataSource, Wrapper {
/**
* < p > Attempts to establish a connection with the data source that
* this { @ code DataSource } object represents .
*
* @ return a connection to the data source
* @ throws SQLException if a database access error occurs
* @ throws java . sql . SQLTimeoutException when the driver has determined that the
* timeout value specified by the { @ code setLoginTimeout } method
* has been exceeded and has at least tried to cancel the
* current database connection attempt
*/
Connection getConnection() throws SQLException;
/**
* < p > Attempts to establish a connection with the data source that
* this { @ code DataSource } object represents .
*
* @ param username the database user on whose behalf the connection is
* being made
* @ param password the user ' s password
* @ return a connection to the data source
* @ throws SQLException if a database access error occurs
* @ throws java . sql . SQLTimeoutException when the driver has determined that the
* timeout value specified by the { @ code setLoginTimeout } method
* has been exceeded and has at least tried to cancel the
* current database connection attempt
* @ since 1 . 4
*/
Connection getConnection(String username, String password)
throws SQLException;
/**
* { @ inheritDoc }
* @ since 1 . 4
*/
@Override
java.io.PrintWriter getLogWriter() throws SQLException;
/**
* { @ inheritDoc }
* @ since 1 . 4
*/
@Override
void setLogWriter(java.io.PrintWriter out) throws SQLException;
/**
* { @ inheritDoc }
* @ since 1 . 4
*/
@Override
void setLoginTimeout(int seconds) throws SQLException;
/**
* { @ inheritDoc }
* @ since 1 . 4
*/
@Override
int getLoginTimeout() throws SQLException;
// JDBC 4.3
/**
* Create a new { @ code ConnectionBuilder } instance
* @ implSpec
* The default implementation will throw a { @ code SQLFeatureNotSupportedException }
* @ return The ConnectionBuilder instance that was created
* @ throws SQLException if an error occurs creating the builder
* @ throws SQLFeatureNotSupportedException if the driver does not support sharding
* @ since 9
* @ see ConnectionBuilder
*/
default ConnectionBuilder createConnectionBuilder() throws SQLException {
throw new SQLFeatureNotSupportedException("createConnectionBuilder not implemented" );
};
}
Messung V0.5 in Prozent C=94 H=40 G=72
¤ Dauer der Verarbeitung: 0.11 Sekunden
(vorverarbeitet am 2026-09-04)
¤
*© Formatika GbR, Deutschland