Package io.github.jdbcx.driver

# Class AbstractDriver

java.lang.Object
io.github.jdbcx.driver.AbstractDriver

All Implemented Interfaces:
  `Driver`, `DriverAction`

Direct Known Subclasses:
  `WrappedDriver`

public abstract class AbstractDriver extends Object implements Driver, DriverAction
This class is essentially a wrapper of the `Driver` interface. It accepts a connection string that starts with `jdbcx:`, followed by an optional name of a `DriverExtension`, which defines the default behaviors of the driver. For example, in the JDBC driver, we used to use `jdbc:mysql://localhost/test` to connect to MySQL. However, now it has changed to `jdbcx:mysql://localhost/test` or `jdbcx:prql:mysql://localhost/test`, if you prefer to use PRQL.

## Constructor Summary

Constructors
Constructor
Description
`AbstractDriver()`

## Method Summary

Modifier and Type
Method
Description
`boolean`
`acceptsURL(String url)`
`Connection`
`connect(String url, Properties info)`
`void`
`deregister()`
`protected Driver`
`getActualDriver()`
`protected io.github.jdbcx.driver.DriverInfo`
`getDriverInfo(String url, Properties props)`
`DriverPropertyInfo[]`
`getPropertyInfo(String url, Properties info)`

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

### Methods inherited from interface java.sql.Driver

`getMajorVersion, getMinorVersion, getParentLogger, jdbcCompliant`

## Constructor Details

### AbstractDriver

public AbstractDriver()

## Method Details

### getDriverInfo

protected io.github.jdbcx.driver.DriverInfo getDriverInfo(String url, Properties props)

### getActualDriver

protected Driver getActualDriver()

### acceptsURL

public boolean acceptsURL(String url) throws SQLException

Specified by:
  `acceptsURL` in interface `Driver`
Throws:
  `SQLException`

### connect

public Connection connect(String url, Properties info) throws SQLException

Specified by:
  `connect` in interface `Driver`
Throws:
  `SQLException`

### getPropertyInfo

public DriverPropertyInfo[] getPropertyInfo(String url, Properties info) throws SQLException

Specified by:
  `getPropertyInfo` in interface `Driver`
Throws:
  `SQLException`

### deregister

public void deregister()

Specified by:
  `deregister` in interface `DriverAction`