public class io.vertx.jdbcclient.impl.AgroalCPDataSourceProvider implements io.vertx.ext.jdbc.spi.DataSourceProvider
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: io.vertx.jdbcclient.impl.AgroalCPDataSourceProvider
  super_class: java.lang.Object
{
  private final io.vertx.jdbcclient.JDBCConnectOptions connectOptions;
    descriptor: Lio/vertx/jdbcclient/JDBCConnectOptions;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final io.vertx.sqlclient.PoolOptions poolOptions;
    descriptor: Lio/vertx/sqlclient/PoolOptions;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  public void <init>(io.vertx.jdbcclient.JDBCConnectOptions, io.vertx.sqlclient.PoolOptions);
    descriptor: (Lio/vertx/jdbcclient/JDBCConnectOptions;Lio/vertx/sqlclient/PoolOptions;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // io.vertx.jdbcclient.impl.AgroalCPDataSourceProvider this
        start local 1 // io.vertx.jdbcclient.JDBCConnectOptions connectOptions
        start local 2 // io.vertx.sqlclient.PoolOptions poolOptions
         0: .line 40
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 41
            aload 0 /* this */
            aload 1 /* connectOptions */
            putfield io.vertx.jdbcclient.impl.AgroalCPDataSourceProvider.connectOptions:Lio/vertx/jdbcclient/JDBCConnectOptions;
         2: .line 42
            aload 0 /* this */
            aload 2 /* poolOptions */
            putfield io.vertx.jdbcclient.impl.AgroalCPDataSourceProvider.poolOptions:Lio/vertx/sqlclient/PoolOptions;
         3: .line 43
            return
        end local 2 // io.vertx.sqlclient.PoolOptions poolOptions
        end local 1 // io.vertx.jdbcclient.JDBCConnectOptions connectOptions
        end local 0 // io.vertx.jdbcclient.impl.AgroalCPDataSourceProvider this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    4     0            this  Lio/vertx/jdbcclient/impl/AgroalCPDataSourceProvider;
            0    4     1  connectOptions  Lio/vertx/jdbcclient/JDBCConnectOptions;
            0    4     2     poolOptions  Lio/vertx/sqlclient/PoolOptions;
    MethodParameters:
                Name  Flags
      connectOptions  
      poolOptions     

  public int maximumPoolSize(javax.sql.DataSource, io.vertx.core.json.JsonObject);
    descriptor: (Ljavax/sql/DataSource;Lio/vertx/core/json/JsonObject;)I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=3, args_size=3
        start local 0 // io.vertx.jdbcclient.impl.AgroalCPDataSourceProvider this
        start local 1 // javax.sql.DataSource dataSource
        start local 2 // io.vertx.core.json.JsonObject config
         0: .line 47
            aload 0 /* this */
            getfield io.vertx.jdbcclient.impl.AgroalCPDataSourceProvider.poolOptions:Lio/vertx/sqlclient/PoolOptions;
            invokevirtual io.vertx.sqlclient.PoolOptions.getMaxSize:()I
            ireturn
        end local 2 // io.vertx.core.json.JsonObject config
        end local 1 // javax.sql.DataSource dataSource
        end local 0 // io.vertx.jdbcclient.impl.AgroalCPDataSourceProvider this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    1     0        this  Lio/vertx/jdbcclient/impl/AgroalCPDataSourceProvider;
            0    1     1  dataSource  Ljavax/sql/DataSource;
            0    1     2      config  Lio/vertx/core/json/JsonObject;
    MethodParameters:
            Name  Flags
      dataSource  
      config      

  public javax.sql.DataSource getDataSource(io.vertx.core.json.JsonObject);
    descriptor: (Lio/vertx/core/json/JsonObject;)Ljavax/sql/DataSource;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // io.vertx.jdbcclient.impl.AgroalCPDataSourceProvider this
        start local 1 // io.vertx.core.json.JsonObject config
         0: .line 53
            new io.agroal.api.configuration.supplier.AgroalDataSourceConfigurationSupplier
            dup
            invokespecial io.agroal.api.configuration.supplier.AgroalDataSourceConfigurationSupplier.<init>:()V
         1: .line 54
            aload 0 /* this */
            getfield io.vertx.jdbcclient.impl.AgroalCPDataSourceProvider.connectOptions:Lio/vertx/jdbcclient/JDBCConnectOptions;
            invokevirtual io.vertx.jdbcclient.JDBCConnectOptions.getDataSourceImplementation:()Ljava/lang/String;
            invokestatic io.agroal.api.configuration.AgroalDataSourceConfiguration$DataSourceImplementation.valueOf:(Ljava/lang/String;)Lio/agroal/api/configuration/AgroalDataSourceConfiguration$DataSourceImplementation;
            invokevirtual io.agroal.api.configuration.supplier.AgroalDataSourceConfigurationSupplier.dataSourceImplementation:(Lio/agroal/api/configuration/AgroalDataSourceConfiguration$DataSourceImplementation;)Lio/agroal/api/configuration/supplier/AgroalDataSourceConfigurationSupplier;
         2: .line 55
            aload 0 /* this */
            getfield io.vertx.jdbcclient.impl.AgroalCPDataSourceProvider.connectOptions:Lio/vertx/jdbcclient/JDBCConnectOptions;
            invokevirtual io.vertx.jdbcclient.JDBCConnectOptions.isMetricsEnabled:()Z
            invokevirtual io.agroal.api.configuration.supplier.AgroalDataSourceConfigurationSupplier.metricsEnabled:(Z)Lio/agroal/api/configuration/supplier/AgroalDataSourceConfigurationSupplier;
         3: .line 56
            aload 0 /* this */
            invokedynamic apply(Lio/vertx/jdbcclient/impl/AgroalCPDataSourceProvider;)Ljava/util/function/Function;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Ljava/lang/Object;)Ljava/lang/Object;
                  io/vertx/jdbcclient/impl/AgroalCPDataSourceProvider.lambda$0(Lio/agroal/api/configuration/supplier/AgroalConnectionPoolConfigurationSupplier;)Lio/agroal/api/configuration/supplier/AgroalConnectionPoolConfigurationSupplier; (7)
                  (Lio/agroal/api/configuration/supplier/AgroalConnectionPoolConfigurationSupplier;)Lio/agroal/api/configuration/supplier/AgroalConnectionPoolConfigurationSupplier;
            invokevirtual io.agroal.api.configuration.supplier.AgroalDataSourceConfigurationSupplier.connectionPoolConfiguration:(Ljava/util/function/Function;)Lio/agroal/api/configuration/supplier/AgroalDataSourceConfigurationSupplier;
         4: .line 53
            astore 2 /* dataSourceConfigurationBuilder */
        start local 2 // io.agroal.api.configuration.supplier.AgroalDataSourceConfigurationSupplier dataSourceConfigurationBuilder
         5: .line 73
            aload 2 /* dataSourceConfigurationBuilder */
            iconst_0
            anewarray io.agroal.api.AgroalDataSourceListener
            invokestatic io.agroal.api.AgroalDataSource.from:(Ljava/util/function/Supplier;[Lio/agroal/api/AgroalDataSourceListener;)Lio/agroal/api/AgroalDataSource;
            areturn
        end local 2 // io.agroal.api.configuration.supplier.AgroalDataSourceConfigurationSupplier dataSourceConfigurationBuilder
        end local 1 // io.vertx.core.json.JsonObject config
        end local 0 // io.vertx.jdbcclient.impl.AgroalCPDataSourceProvider this
      LocalVariableTable:
        Start  End  Slot                            Name  Signature
            0    6     0                            this  Lio/vertx/jdbcclient/impl/AgroalCPDataSourceProvider;
            0    6     1                          config  Lio/vertx/core/json/JsonObject;
            5    6     2  dataSourceConfigurationBuilder  Lio/agroal/api/configuration/supplier/AgroalDataSourceConfigurationSupplier;
    Exceptions:
      throws java.sql.SQLException
    MethodParameters:
        Name  Flags
      config  

  public void close(javax.sql.DataSource);
    descriptor: (Ljavax/sql/DataSource;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=2, args_size=2
        start local 0 // io.vertx.jdbcclient.impl.AgroalCPDataSourceProvider this
        start local 1 // javax.sql.DataSource dataSource
         0: .line 78
            aload 1 /* dataSource */
            instanceof io.agroal.api.AgroalDataSource
            ifeq 2
         1: .line 79
            aload 1 /* dataSource */
            checkcast io.agroal.api.AgroalDataSource
            invokeinterface io.agroal.api.AgroalDataSource.close:()V
         2: .line 81
      StackMap locals:
      StackMap stack:
            return
        end local 1 // javax.sql.DataSource dataSource
        end local 0 // io.vertx.jdbcclient.impl.AgroalCPDataSourceProvider this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    3     0        this  Lio/vertx/jdbcclient/impl/AgroalCPDataSourceProvider;
            0    3     1  dataSource  Ljavax/sql/DataSource;
    Exceptions:
      throws java.sql.SQLException
    MethodParameters:
            Name  Flags
      dataSource  

  private io.agroal.api.configuration.supplier.AgroalConnectionPoolConfigurationSupplier lambda$0(io.agroal.api.configuration.supplier.AgroalConnectionPoolConfigurationSupplier);
    descriptor: (Lio/agroal/api/configuration/supplier/AgroalConnectionPoolConfigurationSupplier;)Lio/agroal/api/configuration/supplier/AgroalConnectionPoolConfigurationSupplier;
    flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // io.vertx.jdbcclient.impl.AgroalCPDataSourceProvider this
        start local 1 // io.agroal.api.configuration.supplier.AgroalConnectionPoolConfigurationSupplier cp
         0: .line 57
            aload 1 /* cp */
         1: .line 58
            aload 0 /* this */
            getfield io.vertx.jdbcclient.impl.AgroalCPDataSourceProvider.connectOptions:Lio/vertx/jdbcclient/JDBCConnectOptions;
            invokevirtual io.vertx.jdbcclient.JDBCConnectOptions.getConnectTimeout:()I
            i2l
            invokestatic java.time.Duration.ofMillis:(J)Ljava/time/Duration;
            invokevirtual io.agroal.api.configuration.supplier.AgroalConnectionPoolConfigurationSupplier.validationTimeout:(Ljava/time/Duration;)Lio/agroal/api/configuration/supplier/AgroalConnectionPoolConfigurationSupplier;
         2: .line 59
            iconst_0
            invokevirtual io.agroal.api.configuration.supplier.AgroalConnectionPoolConfigurationSupplier.minSize:(I)Lio/agroal/api/configuration/supplier/AgroalConnectionPoolConfigurationSupplier;
         3: .line 60
            aload 0 /* this */
            getfield io.vertx.jdbcclient.impl.AgroalCPDataSourceProvider.poolOptions:Lio/vertx/sqlclient/PoolOptions;
            invokevirtual io.vertx.sqlclient.PoolOptions.getMaxSize:()I
            invokevirtual io.agroal.api.configuration.supplier.AgroalConnectionPoolConfigurationSupplier.maxSize:(I)Lio/agroal/api/configuration/supplier/AgroalConnectionPoolConfigurationSupplier;
         4: .line 61
            iconst_1
            invokevirtual io.agroal.api.configuration.supplier.AgroalConnectionPoolConfigurationSupplier.initialSize:(I)Lio/agroal/api/configuration/supplier/AgroalConnectionPoolConfigurationSupplier;
         5: .line 62
            aload 0 /* this */
            getfield io.vertx.jdbcclient.impl.AgroalCPDataSourceProvider.connectOptions:Lio/vertx/jdbcclient/JDBCConnectOptions;
            invokevirtual io.vertx.jdbcclient.JDBCConnectOptions.getConnectTimeout:()I
            i2l
            invokestatic java.time.Duration.ofMillis:(J)Ljava/time/Duration;
            invokevirtual io.agroal.api.configuration.supplier.AgroalConnectionPoolConfigurationSupplier.acquisitionTimeout:(Ljava/time/Duration;)Lio/agroal/api/configuration/supplier/AgroalConnectionPoolConfigurationSupplier;
         6: .line 63
            aload 0 /* this */
            getfield io.vertx.jdbcclient.impl.AgroalCPDataSourceProvider.connectOptions:Lio/vertx/jdbcclient/JDBCConnectOptions;
            invokevirtual io.vertx.jdbcclient.JDBCConnectOptions.getIdleTimeout:()I
            i2l
            invokestatic java.time.Duration.ofMillis:(J)Ljava/time/Duration;
            invokevirtual io.agroal.api.configuration.supplier.AgroalConnectionPoolConfigurationSupplier.reapTimeout:(Ljava/time/Duration;)Lio/agroal/api/configuration/supplier/AgroalConnectionPoolConfigurationSupplier;
         7: .line 64
            aload 0 /* this */
            getfield io.vertx.jdbcclient.impl.AgroalCPDataSourceProvider.connectOptions:Lio/vertx/jdbcclient/JDBCConnectOptions;
            invokevirtual io.vertx.jdbcclient.JDBCConnectOptions.getIdleTimeout:()I
            i2l
            invokestatic java.time.Duration.ofMillis:(J)Ljava/time/Duration;
            invokevirtual io.agroal.api.configuration.supplier.AgroalConnectionPoolConfigurationSupplier.leakTimeout:(Ljava/time/Duration;)Lio/agroal/api/configuration/supplier/AgroalConnectionPoolConfigurationSupplier;
         8: .line 65
            aload 0 /* this */
            invokedynamic apply(Lio/vertx/jdbcclient/impl/AgroalCPDataSourceProvider;)Ljava/util/function/Function;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Ljava/lang/Object;)Ljava/lang/Object;
                  io/vertx/jdbcclient/impl/AgroalCPDataSourceProvider.lambda$1(Lio/agroal/api/configuration/supplier/AgroalConnectionFactoryConfigurationSupplier;)Lio/agroal/api/configuration/supplier/AgroalConnectionFactoryConfigurationSupplier; (7)
                  (Lio/agroal/api/configuration/supplier/AgroalConnectionFactoryConfigurationSupplier;)Lio/agroal/api/configuration/supplier/AgroalConnectionFactoryConfigurationSupplier;
            invokevirtual io.agroal.api.configuration.supplier.AgroalConnectionPoolConfigurationSupplier.connectionFactoryConfiguration:(Ljava/util/function/Function;)Lio/agroal/api/configuration/supplier/AgroalConnectionPoolConfigurationSupplier;
         9: .line 70
            areturn
        end local 1 // io.agroal.api.configuration.supplier.AgroalConnectionPoolConfigurationSupplier cp
        end local 0 // io.vertx.jdbcclient.impl.AgroalCPDataSourceProvider this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   10     0  this  Lio/vertx/jdbcclient/impl/AgroalCPDataSourceProvider;
            0   10     1    cp  Lio/agroal/api/configuration/supplier/AgroalConnectionPoolConfigurationSupplier;

  private io.agroal.api.configuration.supplier.AgroalConnectionFactoryConfigurationSupplier lambda$1(io.agroal.api.configuration.supplier.AgroalConnectionFactoryConfigurationSupplier);
    descriptor: (Lio/agroal/api/configuration/supplier/AgroalConnectionFactoryConfigurationSupplier;)Lio/agroal/api/configuration/supplier/AgroalConnectionFactoryConfigurationSupplier;
    flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // io.vertx.jdbcclient.impl.AgroalCPDataSourceProvider this
        start local 1 // io.agroal.api.configuration.supplier.AgroalConnectionFactoryConfigurationSupplier cf
         0: .line 66
            aload 1 /* cf */
         1: .line 67
            aload 0 /* this */
            getfield io.vertx.jdbcclient.impl.AgroalCPDataSourceProvider.connectOptions:Lio/vertx/jdbcclient/JDBCConnectOptions;
            invokevirtual io.vertx.jdbcclient.JDBCConnectOptions.getJdbcUrl:()Ljava/lang/String;
            invokevirtual io.agroal.api.configuration.supplier.AgroalConnectionFactoryConfigurationSupplier.jdbcUrl:(Ljava/lang/String;)Lio/agroal/api/configuration/supplier/AgroalConnectionFactoryConfigurationSupplier;
         2: .line 68
            aload 0 /* this */
            getfield io.vertx.jdbcclient.impl.AgroalCPDataSourceProvider.connectOptions:Lio/vertx/jdbcclient/JDBCConnectOptions;
            invokevirtual io.vertx.jdbcclient.JDBCConnectOptions.getUser:()Ljava/lang/String;
            ifnull 3
            new io.agroal.api.security.NamePrincipal
            dup
            aload 0 /* this */
            getfield io.vertx.jdbcclient.impl.AgroalCPDataSourceProvider.connectOptions:Lio/vertx/jdbcclient/JDBCConnectOptions;
            invokevirtual io.vertx.jdbcclient.JDBCConnectOptions.getUser:()Ljava/lang/String;
            invokespecial io.agroal.api.security.NamePrincipal.<init>:(Ljava/lang/String;)V
            goto 4
      StackMap locals:
      StackMap stack: io.agroal.api.configuration.supplier.AgroalConnectionFactoryConfigurationSupplier
         3: aconst_null
      StackMap locals: io.vertx.jdbcclient.impl.AgroalCPDataSourceProvider io.agroal.api.configuration.supplier.AgroalConnectionFactoryConfigurationSupplier
      StackMap stack: io.agroal.api.configuration.supplier.AgroalConnectionFactoryConfigurationSupplier io.agroal.api.security.NamePrincipal
         4: invokevirtual io.agroal.api.configuration.supplier.AgroalConnectionFactoryConfigurationSupplier.principal:(Ljava/security/Principal;)Lio/agroal/api/configuration/supplier/AgroalConnectionFactoryConfigurationSupplier;
         5: .line 69
            aload 0 /* this */
            getfield io.vertx.jdbcclient.impl.AgroalCPDataSourceProvider.connectOptions:Lio/vertx/jdbcclient/JDBCConnectOptions;
            invokevirtual io.vertx.jdbcclient.JDBCConnectOptions.getPassword:()Ljava/lang/String;
            ifnull 6
            new io.agroal.api.security.SimplePassword
            dup
            aload 0 /* this */
            getfield io.vertx.jdbcclient.impl.AgroalCPDataSourceProvider.connectOptions:Lio/vertx/jdbcclient/JDBCConnectOptions;
            invokevirtual io.vertx.jdbcclient.JDBCConnectOptions.getPassword:()Ljava/lang/String;
            invokespecial io.agroal.api.security.SimplePassword.<init>:(Ljava/lang/String;)V
            goto 7
      StackMap locals:
      StackMap stack: io.agroal.api.configuration.supplier.AgroalConnectionFactoryConfigurationSupplier
         6: aconst_null
      StackMap locals: io.vertx.jdbcclient.impl.AgroalCPDataSourceProvider io.agroal.api.configuration.supplier.AgroalConnectionFactoryConfigurationSupplier
      StackMap stack: io.agroal.api.configuration.supplier.AgroalConnectionFactoryConfigurationSupplier io.agroal.api.security.SimplePassword
         7: invokevirtual io.agroal.api.configuration.supplier.AgroalConnectionFactoryConfigurationSupplier.credential:(Ljava/lang/Object;)Lio/agroal/api/configuration/supplier/AgroalConnectionFactoryConfigurationSupplier;
            areturn
        end local 1 // io.agroal.api.configuration.supplier.AgroalConnectionFactoryConfigurationSupplier cf
        end local 0 // io.vertx.jdbcclient.impl.AgroalCPDataSourceProvider this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    8     0  this  Lio/vertx/jdbcclient/impl/AgroalCPDataSourceProvider;
            0    8     1    cf  Lio/agroal/api/configuration/supplier/AgroalConnectionFactoryConfigurationSupplier;
}
SourceFile: "AgroalCPDataSourceProvider.java"
InnerClasses:
  public final DataSourceImplementation = io.agroal.api.configuration.AgroalDataSourceConfiguration$DataSourceImplementation of io.agroal.api.configuration.AgroalDataSourceConfiguration
  public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles