Package io.github.jdbcx

# Interface DriverExtension

All Superinterfaces:
  `Comparable<DriverExtension>`

All Known Implementing Classes:
  `BlackholeDriverExtension`, `CodeQLDriverExtension`, `DefaultDriverExtension`, `HelpDriverExtension`, `PromptDriverExtension`, `PrqlDriverExtension`, `ScriptDriverExtension`, `ShellDriverExtension`, `SqlDriverExtension`, `VarsDriverExtension`, `VersionDriverExtension`, `WebDriverExtension`

public interface DriverExtension extends Comparable<DriverExtension>

## Method Summary

Modifier and Type
Method
Description
`default int`
`compareTo(DriverExtension o)`
`default JdbcActivityListener`
`createListener(QueryContext context, Connection conn, Properties props)`
Creates a connection listener.
`static Properties`
`extractProperties(DriverExtension extension, Properties properties)`
`default List<String>`
`getAliases()`
`default Properties`
`getConfig(Properties props)`
Gets configuration for this extension.
`default Properties`
`getDefaultConfig()`
Gets the default configuration for this extension, containing all supported options with their default values.
`default List<Option>`
`getDefaultOptions()`
Gets the default configuration options supported by this extension.
`default String`
`getDescription()`
`static String`
`getName(DriverExtension extension)`
`default List<Option>`
`getOptions(Properties props)`
Gets the consolidated configuration options supported by this extension.
`default String`
`getUsage()`
`default boolean`
`supportsDirectQuery()`
`default boolean`
`supportsInspection()`
`default boolean`
`supportsNoArguments()`
Whether this extension supports execution without passing any properties and content.

## Method Details

### getName

static String getName(DriverExtension extension)

### extractProperties

static Properties extractProperties(DriverExtension extension, Properties properties)

### getAliases

default List<String> getAliases()

### createListener

default JdbcActivityListener createListener(QueryContext context, Connection conn, Properties props)
Creates a connection listener.

Parameters:
  `context` - query context
  `conn` - connection to listen
  `props` - connection properties, usually tailored for this extension
Returns:
  non-null connection listener

### getConfig

default Properties getConfig(Properties props)
Gets configuration for this extension.

Parameters:
  `props` - optional connection properties to merge into the configuration, could be null
Returns:
  non-null configuration for this extension

### getDefaultConfig

default Properties getDefaultConfig()
Gets the default configuration for this extension, containing all supported options with their default values.

Returns:
  non-null default configuration

### getOptions

default List<Option> getOptions(Properties props)
Gets the consolidated configuration options supported by this extension.

Parameters:
  `props` - optional connection properties, could be null
Returns:
  non-null configuration options supported by this extension

### getDefaultOptions

default List<Option> getDefaultOptions()
Gets the default configuration options supported by this extension.

Returns:
  non-null default options

### getDescription

default String getDescription()

### getUsage

default String getUsage()

### supportsDirectQuery

default boolean supportsDirectQuery()

### supportsInspection

default boolean supportsInspection()

### supportsNoArguments

default boolean supportsNoArguments()
Whether this extension supports execution without passing any properties and content.

Returns:
  true if the extension supports execution without passing any properties and content; false otherwise

### compareTo

default int compareTo(DriverExtension o)

Specified by:
  `compareTo` in interface `Comparable<DriverExtension>`