Package io.vertx.pgclient.spi

## Class PgDriver

- java.lang.Object
- - io.vertx.pgclient.spi.PgDriver

- All Implemented Interfaces:
    `Driver<PgConnectOptions>`

      public class PgDriver
      extends Object
      implements Driver<PgConnectOptions>

- - ### Field Summary

    Fields
    Modifier and Type | Field | Description
    --- | --- | ---
    `static PgDriver` | `INSTANCE` |

  - ### Constructor Summary

    Constructors
    Constructor | Description
    --- | ---
    `PgDriver()` |

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `boolean` | `acceptsOptions​(SqlConnectOptions options)` |
    `int` | `appendQueryPlaceholder​(StringBuilder queryBuilder, int index, int current)` | Append a parameter placeholder in the `query`.
    `ConnectionFactory<PgConnectOptions>` | `createConnectionFactory​(Vertx vertx, NetClientOptions transportOptions)` | Create a connection factory to the given `database`.
    `PgConnectOptions` | `downcast​(SqlConnectOptions connectOptions)` | Downcast the connect options to the specific driver options.
    `Pool` | `newPool​(Vertx vertx, Supplier<Future<PgConnectOptions>> databases, PoolOptions poolOptions, NetClientOptions transportOptions, Handler<SqlConnection> connectHandler, io.vertx.core.internal.CloseFuture closeFuture)` | Create a connection pool to the database configured with the given `connectOptions` and `poolOptions`.
    `PgConnectOptions` | `parseConnectionUri​(String uri)` |
    `io.vertx.sqlclient.internal.SqlConnectionInternal` | `wrapConnection​(io.vertx.core.internal.ContextInternal context, ConnectionFactory<PgConnectOptions> factory, io.vertx.sqlclient.internal.Connection conn)` |

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

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

    - ### Methods inherited from interface io.vertx.sqlclient.spi.Driver

      `createPool`

- - ### Field Detail

    - #### INSTANCE

          public static final PgDriver INSTANCE

  - ### Constructor Detail

    - #### PgDriver

          public PgDriver()

  - ### Method Detail

    - #### newPool

          public Pool newPool​(Vertx vertx,
                              Supplier<Future<PgConnectOptions>> databases,
                              PoolOptions poolOptions,
                              NetClientOptions transportOptions,
                              Handler<SqlConnection> connectHandler,
                              io.vertx.core.internal.CloseFuture closeFuture)

      Description copied from interface: `Driver`
      Create a connection pool to the database configured with the given `connectOptions` and `poolOptions`.

      This method is not meant to be used directly by users, instead they should use `Driver.createPool(Vertx, Supplier, PoolOptions, NetClientOptions, Handler)`.

      Specified by:
        `newPool` in interface `Driver<PgConnectOptions>`
      Parameters:
        `vertx` - the Vertx instance to be used with the connection pool
        `databases` - the list of databases
        `poolOptions` - the options for creating the pool
        `transportOptions` - the options to configure the TCP client
        `connectHandler` - the connect handler
        `closeFuture` - the close future
      Returns:
        the connection pool

    - #### parseConnectionUri

          public PgConnectOptions parseConnectionUri​(String uri)

      Specified by:
        `parseConnectionUri` in interface `Driver<PgConnectOptions>`
      Returns:
        `true` if the driver accepts the `connectOptions`, `false` otherwise

    - #### acceptsOptions

          public boolean acceptsOptions​(SqlConnectOptions options)

      Specified by:
        `acceptsOptions` in interface `Driver<PgConnectOptions>`
      Returns:
        true if the driver accepts the `connectOptions`, false otherwise

    - #### downcast

          public PgConnectOptions downcast​(SqlConnectOptions connectOptions)

      Description copied from interface: `Driver`
      Downcast the connect options to the specific driver options.
      Specified by:
        `downcast` in interface `Driver<PgConnectOptions>`
      Parameters:
        `connectOptions` - the options to downcast
      Returns:
        the downcasted options

    - #### createConnectionFactory

          public ConnectionFactory<PgConnectOptions> createConnectionFactory​(Vertx vertx,
                                                                             NetClientOptions transportOptions)

      Description copied from interface: `Driver`
      Create a connection factory to the given `database`.
      Specified by:
        `createConnectionFactory` in interface `Driver<PgConnectOptions>`
      Parameters:
        `vertx` - the Vertx instance
        `transportOptions` - the options to configure the TCP client
      Returns:
        the connection factory

    - #### appendQueryPlaceholder

          public int appendQueryPlaceholder​(StringBuilder queryBuilder,
                                            int index,
                                            int current)

      Description copied from interface: `Driver`
      Append a parameter placeholder in the `query`.

      The index starts at `0`.

      - When `index == current` indicates it is a new parameter and therefore the same * value should be returned.
      - When `index < current` indicates the builder wants to reuse a parameter. The implementation can either return the same value to indicate the parameter can be reused or return the next index to use (which is shall be the `current` value
      Specified by:
        `appendQueryPlaceholder` in interface `Driver<PgConnectOptions>`
      Parameters:
        `queryBuilder` - the builder to append to
        `index` - the parameter placeholder index
      Returns:
        the index at which the parameter placeholder could be added

    - #### wrapConnection

          public io.vertx.sqlclient.internal.SqlConnectionInternal wrapConnection​(io.vertx.core.internal.ContextInternal context,
                                                                                  ConnectionFactory<PgConnectOptions> factory,
                                                                                  io.vertx.sqlclient.internal.Connection conn)

      Specified by:
        `wrapConnection` in interface `Driver<PgConnectOptions>`