/**@class java.sql.DriverManager
@extends java.lang.Object

 <P>The basic service for managing a set of JDBC drivers.<br>
 <B>NOTE:</B> The {@code DataSource} interface, new in the
 JDBC 2.0 API, provides another way to connect to a data source.
 The use of a <code>DataSource</code> object is the preferred means of
 connecting to a data source.

 <P>As part of its initialization, the <code>DriverManager</code> class will
 attempt to load the driver classes referenced in the "jdbc.drivers"
 system property. This allows a user to customize the JDBC Drivers
 used by their applications. For example in your
 ~/.hotjava/properties file you might specify:
 <pre>
 <CODE>jdbc.drivers=foo.bah.Driver:wombat.sql.Driver:bad.taste.ourDriver</CODE>
 </pre>
<P> The <code>DriverManager</code> methods <code>getConnection</code> and
 <code>getDrivers</code> have been enhanced to support the Java Standard Edition
 <a href="https://docs.oracle.com/javase/8/docs/technotes/guides/jar/jar.html#Service%20Provider">Service Provider</a> mechanism. JDBC 4.0 Drivers must
 include the file <code>META-INF/services/java.sql.Driver</code>. This file contains the name of the JDBC drivers
 implementation of <code>java.sql.Driver</code>.  For example, to load the <code>my.sql.Driver</code> class,
 the <code>META-INF/services/java.sql.Driver</code> file would contain the entry:
 <pre>
 <code>my.sql.Driver</code>
 </pre>

 <P>Applications no longer need to explictly load JDBC drivers using <code>Class.forName()</code>. Existing programs
 which currently load JDBC drivers using <code>Class.forName()</code> will continue to work without
 modification.

 <P>When the method <code>getConnection</code> is called,
 the <code>DriverManager</code> will attempt to
 locate a suitable driver from amongst those loaded at
 initialization and those loaded explicitly using the same classloader
 as the current applet or application.

 <P>
 Starting with the Java 2 SDK, Standard Edition, version 1.3, a
 logging stream can be set only if the proper
 permission has been granted.  Normally this will be done with
 the tool PolicyTool, which can be used to grant <code>permission
 java.sql.SQLPermission "setLog"</code>.
 @see Driver
 @see Connection
*/
var DriverManager = {

/**Retrieves the log writer.

 The <code>getLogWriter</code> and <code>setLogWriter</code>
 methods should be used instead
 of the <code>get/setlogStream</code> methods, which are deprecated.
@return {Object {java.io.PrintWriter}} a <code>java.io.PrintWriter</code> object
@see #setLogWriter
@since 1.2
*/
getLogWriter : function(  ) {},

/**Sets the logging/tracing <code>PrintWriter</code> object
 that is used by the <code>DriverManager</code> and all drivers.
 <P>
 There is a minor versioning problem created by the introduction
 of the method <code>setLogWriter</code>.  The
 method <code>setLogWriter</code> cannot create a <code>PrintStream</code> object
 that will be returned by <code>getLogStream</code>---the Java platform does
 not provide a backward conversion.  As a result, a new application
 that uses <code>setLogWriter</code> and also uses a JDBC 1.0 driver that uses
 <code>getLogStream</code> will likely not see debugging information written
 by that driver.
<P>
 Starting with the Java 2 SDK, Standard Edition, version 1.3 release, this method checks
 to see that there is an <code>SQLPermission</code> object before setting
 the logging stream.  If a <code>SecurityManager</code> exists and its
 <code>checkPermission</code> method denies setting the log writer, this
 method throws a <code>java.lang.SecurityException</code>.
@param {Object {PrintWriter}} out the new logging/tracing <code>PrintStream</code> object;
      <code>null</code> to disable logging and tracing
@throws SecurityException
    if a security manager exists and its
    <code>checkPermission</code> method denies
    setting the log writer
@see SecurityManager#checkPermission
@see #getLogWriter
@since 1.2
*/
setLogWriter : function(  ) {},

/**Attempts to establish a connection to the given database URL.
 The <code>DriverManager</code> attempts to select an appropriate driver from
 the set of registered JDBC drivers.
@param {String} url a database url of the form
 <code> jdbc:<em>subprotocol</em>:<em>subname</em></code>
@param {Object {Properties}} info a list of arbitrary string tag/value pairs as
 connection arguments; normally at least a "user" and
 "password" property should be included
@return {Object {java.sql.Connection}} a Connection to the URL
@exception SQLException if a database access error occurs
*/
getConnection : function(  ) {},

/**Attempts to establish a connection to the given database URL.
 The <code>DriverManager</code> attempts to select an appropriate driver from
 the set of registered JDBC drivers.
@param {String} url a database url of the form
 <code>jdbc:<em>subprotocol</em>:<em>subname</em></code>
@param {String} user the database user on whose behalf the connection is being
   made
@param {String} password the user's password
@return {Object {java.sql.Connection}} a connection to the URL
@exception SQLException if a database access error occurs
*/
getConnection : function(  ) {},

/**Attempts to establish a connection to the given database URL.
 The <code>DriverManager</code> attempts to select an appropriate driver from
 the set of registered JDBC drivers.
@param {String} url a database url of the form
  <code> jdbc:<em>subprotocol</em>:<em>subname</em></code>
@return {Object {java.sql.Connection}} a connection to the URL
@exception SQLException if a database access error occurs
*/
getConnection : function(  ) {},

/**Attempts to locate a driver that understands the given URL.
 The <code>DriverManager</code> attempts to select an appropriate driver from
 the set of registered JDBC drivers.
@param {String} url a database URL of the form
     <code>jdbc:<em>subprotocol</em>:<em>subname</em></code>
@return {Object {java.sql.Driver}} a <code>Driver</code> object representing a driver
 that can connect to the given URL
@exception SQLException if a database access error occurs
*/
getDriver : function(  ) {},

/**Registers the given driver with the <code>DriverManager</code>.
 A newly-loaded driver class should call
 the method <code>registerDriver</code> to make itself
 known to the <code>DriverManager</code>.
@param {Object {Driver}} driver the new JDBC Driver that is to be registered with the
               <code>DriverManager</code>
@exception SQLException if a database access error occurs
*/
registerDriver : function(  ) {},

/**Drops a driver from the <code>DriverManager</code>'s list.
  Applets can only deregister drivers from their own classloaders.
@param {Object {Driver}} driver the JDBC Driver to drop
@exception SQLException if a database access error occurs
*/
deregisterDriver : function(  ) {},

/**Retrieves an Enumeration with all of the currently loaded JDBC drivers
 to which the current caller has access.

 <P><B>Note:</B> The classname of a driver can be found using
 <CODE>d.getClass().getName()</CODE>
@return {Object {java.util.Enumeration}} the list of JDBC Drivers loaded by the caller's class loader
*/
getDrivers : function(  ) {},

/**Sets the maximum time in seconds that a driver will wait
 while attempting to connect to a database.
@param {Number} seconds the login time limit in seconds; zero means there is no limit
@see #getLoginTimeout
*/
setLoginTimeout : function(  ) {},

/**Gets the maximum time in seconds that a driver can wait
 when attempting to log in to a database.
@return {Number} the driver login time limit in seconds
@see #setLoginTimeout
*/
getLoginTimeout : function(  ) {},

/**Sets the logging/tracing PrintStream that is used
 by the <code>DriverManager</code>
 and all drivers.
<P>
 In the Java 2 SDK, Standard Edition, version 1.3 release, this method checks
 to see that there is an <code>SQLPermission</code> object before setting
 the logging stream.  If a <code>SecurityManager</code> exists and its
 <code>checkPermission</code> method denies setting the log writer, this
 method throws a <code>java.lang.SecurityException</code>.
@param {Object {PrintStream}} out the new logging/tracing PrintStream; to disable, set to <code>null</code>
@deprecated Use {@code setLogWriter} instead.
@throws SecurityException if a security manager exists and its
    <code>checkPermission</code> method denies setting the log stream
@see SecurityManager#checkPermission
@see #getLogStream
*/
setLogStream : function(  ) {},

/**Retrieves the logging/tracing PrintStream that is used by the <code>DriverManager</code>
 and all drivers.
@return {Object {java.io.PrintStream}} the logging/tracing PrintStream; if disabled, is <code>null</code>
@deprecated Use {@code getLogWriter} instead.
@see #setLogStream
*/
getLogStream : function(  ) {},

/**Prints a message to the current JDBC log stream.
@param {String} message a log or tracing message
*/
println : function(  ) {},


};