Interface DriverExtension

All Superinterfaces:
Comparable<DriverExtension>
All Known Implementing Classes:
BridgeDriverExtension, CodeQLDriverExtension, DbDriverExtension, DefaultDriverExtension, HelpDriverExtension, McpDriverExtension, PromptDriverExtension, PrqlDriverExtension, QueryDriverExtension, ScriptDriverExtension, ShellDriverExtension, VarDriverExtension, VersionDriverExtension, WebDriverExtension

public interface DriverExtension extends Comparable<DriverExtension>
  • Field Details

  • Method Details

    • getMatched

      static List<String> getMatched(List<String> list, String pattern)
    • extractProperties

      static Properties extractProperties(DriverExtension extension, Properties properties)
    • createListener

      default JdbcActivityListener createListener(io.github.jdbcx.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
    • getName

      default String getName()
    • getAliases

      default List<String> getAliases()
    • getConfig

      default Properties getConfig(io.github.jdbcx.QueryContext context, Properties props)
      Gets configuration for this extension.
      Parameters:
      context - optional query context
      props - optional properties to merge into the configuration, could be null
      Returns:
      non-null configuration for this extension
    • getConfig

      @Deprecated default Properties getConfig(io.github.jdbcx.ConfigManager manager, Properties props)
      Deprecated.
      Gets configuration for this extension.
      Parameters:
      manager - optional configuration manager
      props - optional properties to merge into the configuration, could be null
      Returns:
      non-null configuration for this extension
    • getConnection

      default Connection getConnection(io.github.jdbcx.ConfigManager manager, String url, Properties props) throws SQLException
      Throws:
      SQLException
    • getSchemas

      default List<String> getSchemas(io.github.jdbcx.ConfigManager manager, String pattern, Properties props)
    • getTables

      default ResultSet getTables(io.github.jdbcx.ConfigManager manager, String schemaPattern, String tableNamePattern, String[] types, Properties props) throws SQLException
      Throws:
      SQLException
    • 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<io.github.jdbcx.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<io.github.jdbcx.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
    • requiresBridgeContext

      default boolean requiresBridgeContext()
      Whether this extension requires bridge context(e.g. current DB product, user, and bridge config etc.) or not.
      Returns:
      true if bridge context is required; false otherwise
    • compareTo

      default int compareTo(DriverExtension o)
      Specified by:
      compareTo in interface Comparable<DriverExtension>