public class io.vertx.ext.jdbc.spi.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.ext.jdbc.spi.impl.AgroalCPDataSourceProvider
  super_class: java.lang.Object
{
  public void <init>();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // io.vertx.ext.jdbc.spi.impl.AgroalCPDataSourceProvider this
         0: .line 18
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
            return
        end local 0 // io.vertx.ext.jdbc.spi.impl.AgroalCPDataSourceProvider this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/vertx/ext/jdbc/spi/impl/AgroalCPDataSourceProvider;

  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.ext.jdbc.spi.impl.AgroalCPDataSourceProvider this
        start local 1 // javax.sql.DataSource dataSource
        start local 2 // io.vertx.core.json.JsonObject config
         0: .line 21
            aload 1 /* dataSource */
            instanceof io.agroal.api.AgroalDataSource
            ifeq 2
         1: .line 22
            aload 1 /* dataSource */
            checkcast io.agroal.api.AgroalDataSource
            invokeinterface io.agroal.api.AgroalDataSource.getConfiguration:()Lio/agroal/api/configuration/AgroalDataSourceConfiguration;
            invokeinterface io.agroal.api.configuration.AgroalDataSourceConfiguration.connectionPoolConfiguration:()Lio/agroal/api/configuration/AgroalConnectionPoolConfiguration;
            invokeinterface io.agroal.api.configuration.AgroalConnectionPoolConfiguration.maxSize:()I
            ireturn
         2: .line 24
      StackMap locals:
      StackMap stack:
            iconst_m1
            ireturn
        end local 2 // io.vertx.core.json.JsonObject config
        end local 1 // javax.sql.DataSource dataSource
        end local 0 // io.vertx.ext.jdbc.spi.impl.AgroalCPDataSourceProvider this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    3     0        this  Lio/vertx/ext/jdbc/spi/impl/AgroalCPDataSourceProvider;
            0    3     1  dataSource  Ljavax/sql/DataSource;
            0    3     2      config  Lio/vertx/core/json/JsonObject;
    Exceptions:
      throws java.sql.SQLException
    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=4, locals=3, args_size=2
        start local 0 // io.vertx.ext.jdbc.spi.impl.AgroalCPDataSourceProvider this
        start local 1 // io.vertx.core.json.JsonObject config
         0: .line 30
            new io.agroal.api.configuration.supplier.AgroalDataSourceConfigurationSupplier
            dup
            invokespecial io.agroal.api.configuration.supplier.AgroalDataSourceConfigurationSupplier.<init>:()V
         1: .line 31
            aload 1 /* config */
            ldc "dataSourceImplementation"
            ldc "AGROAL"
            invokevirtual io.vertx.core.json.JsonObject.getString:(Ljava/lang/String;Ljava/lang/String;)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 32
            aload 1 /* config */
            ldc "metricsEnabled"
            iconst_0
            invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
            invokevirtual io.vertx.core.json.JsonObject.getBoolean:(Ljava/lang/String;Ljava/lang/Boolean;)Ljava/lang/Boolean;
            invokevirtual java.lang.Boolean.booleanValue:()Z
            invokevirtual io.agroal.api.configuration.supplier.AgroalDataSourceConfigurationSupplier.metricsEnabled:(Z)Lio/agroal/api/configuration/supplier/AgroalDataSourceConfigurationSupplier;
         3: .line 33
            aload 1 /* config */
            invokedynamic apply(Lio/vertx/core/json/JsonObject;)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/ext/jdbc/spi/impl/AgroalCPDataSourceProvider.lambda$0(Lio/vertx/core/json/JsonObject;Lio/agroal/api/configuration/supplier/AgroalConnectionPoolConfigurationSupplier;)Lio/agroal/api/configuration/supplier/AgroalConnectionPoolConfigurationSupplier; (6)
                  (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 30
            astore 2 /* dataSourceConfigurationBuilder */
        start local 2 // io.agroal.api.configuration.supplier.AgroalDataSourceConfigurationSupplier dataSourceConfigurationBuilder
         5: .line 48
            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.ext.jdbc.spi.impl.AgroalCPDataSourceProvider this
      LocalVariableTable:
        Start  End  Slot                            Name  Signature
            0    6     0                            this  Lio/vertx/ext/jdbc/spi/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.ext.jdbc.spi.impl.AgroalCPDataSourceProvider this
        start local 1 // javax.sql.DataSource dataSource
         0: .line 53
            aload 1 /* dataSource */
            instanceof io.agroal.api.AgroalDataSource
            ifeq 2
         1: .line 54
            aload 1 /* dataSource */
            checkcast io.agroal.api.AgroalDataSource
            invokeinterface io.agroal.api.AgroalDataSource.close:()V
         2: .line 56
      StackMap locals:
      StackMap stack:
            return
        end local 1 // javax.sql.DataSource dataSource
        end local 0 // io.vertx.ext.jdbc.spi.impl.AgroalCPDataSourceProvider this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    3     0        this  Lio/vertx/ext/jdbc/spi/impl/AgroalCPDataSourceProvider;
            0    3     1  dataSource  Ljavax/sql/DataSource;
    Exceptions:
      throws java.sql.SQLException
    MethodParameters:
            Name  Flags
      dataSource  

  private static io.agroal.api.configuration.supplier.AgroalConnectionPoolConfigurationSupplier lambda$0(io.vertx.core.json.JsonObject, io.agroal.api.configuration.supplier.AgroalConnectionPoolConfigurationSupplier);
    descriptor: (Lio/vertx/core/json/JsonObject;Lio/agroal/api/configuration/supplier/AgroalConnectionPoolConfigurationSupplier;)Lio/agroal/api/configuration/supplier/AgroalConnectionPoolConfigurationSupplier;
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=5, locals=2, args_size=2
        start local 1 // io.agroal.api.configuration.supplier.AgroalConnectionPoolConfigurationSupplier cp
         0: .line 33
            aload 1 /* cp */
         1: .line 34
            aload 0
            ldc "connectionValidationTimeout"
            ldc 30000
            invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
            invokevirtual io.vertx.core.json.JsonObject.getLong:(Ljava/lang/String;Ljava/lang/Long;)Ljava/lang/Long;
            invokevirtual java.lang.Long.longValue:()J
            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 35
            aload 0
            ldc "minSize"
            iconst_0
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            invokevirtual io.vertx.core.json.JsonObject.getInteger:(Ljava/lang/String;Ljava/lang/Integer;)Ljava/lang/Integer;
            invokevirtual java.lang.Integer.intValue:()I
            invokevirtual io.agroal.api.configuration.supplier.AgroalConnectionPoolConfigurationSupplier.minSize:(I)Lio/agroal/api/configuration/supplier/AgroalConnectionPoolConfigurationSupplier;
         3: .line 36
            aload 0
            ldc "maxSize"
            bipush 30
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            invokevirtual io.vertx.core.json.JsonObject.getInteger:(Ljava/lang/String;Ljava/lang/Integer;)Ljava/lang/Integer;
            invokevirtual java.lang.Integer.intValue:()I
            invokevirtual io.agroal.api.configuration.supplier.AgroalConnectionPoolConfigurationSupplier.maxSize:(I)Lio/agroal/api/configuration/supplier/AgroalConnectionPoolConfigurationSupplier;
         4: .line 37
            aload 0
            ldc "initialSize"
            iconst_1
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            invokevirtual io.vertx.core.json.JsonObject.getInteger:(Ljava/lang/String;Ljava/lang/Integer;)Ljava/lang/Integer;
            invokevirtual java.lang.Integer.intValue:()I
            invokevirtual io.agroal.api.configuration.supplier.AgroalConnectionPoolConfigurationSupplier.initialSize:(I)Lio/agroal/api/configuration/supplier/AgroalConnectionPoolConfigurationSupplier;
         5: .line 38
            aload 0
            ldc "acquisitionTimeout"
            iconst_0
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            invokevirtual io.vertx.core.json.JsonObject.getInteger:(Ljava/lang/String;Ljava/lang/Integer;)Ljava/lang/Integer;
            invokevirtual java.lang.Integer.intValue:()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 39
            aload 0
            ldc "connectionReapTimeout"
            lconst_0
            invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
            invokevirtual io.vertx.core.json.JsonObject.getLong:(Ljava/lang/String;Ljava/lang/Long;)Ljava/lang/Long;
            invokevirtual java.lang.Long.longValue:()J
            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 40
            aload 0
            ldc "connectionLeakTimeout"
            lconst_0
            invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
            invokevirtual io.vertx.core.json.JsonObject.getLong:(Ljava/lang/String;Ljava/lang/Long;)Ljava/lang/Long;
            invokevirtual java.lang.Long.longValue:()J
            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 41
            aload 0
            invokedynamic apply(Lio/vertx/core/json/JsonObject;)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/ext/jdbc/spi/impl/AgroalCPDataSourceProvider.lambda$1(Lio/vertx/core/json/JsonObject;Lio/agroal/api/configuration/supplier/AgroalConnectionFactoryConfigurationSupplier;)Lio/agroal/api/configuration/supplier/AgroalConnectionFactoryConfigurationSupplier; (6)
                  (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 45
            areturn
        end local 1 // io.agroal.api.configuration.supplier.AgroalConnectionPoolConfigurationSupplier cp
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   10     1    cp  Lio/agroal/api/configuration/supplier/AgroalConnectionPoolConfigurationSupplier;

  private static io.agroal.api.configuration.supplier.AgroalConnectionFactoryConfigurationSupplier lambda$1(io.vertx.core.json.JsonObject, io.agroal.api.configuration.supplier.AgroalConnectionFactoryConfigurationSupplier);
    descriptor: (Lio/vertx/core/json/JsonObject;Lio/agroal/api/configuration/supplier/AgroalConnectionFactoryConfigurationSupplier;)Lio/agroal/api/configuration/supplier/AgroalConnectionFactoryConfigurationSupplier;
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=5, locals=2, args_size=2
        start local 1 // io.agroal.api.configuration.supplier.AgroalConnectionFactoryConfigurationSupplier cf
         0: .line 41
            aload 1 /* cf */
         1: .line 42
            aload 0
            ldc "jdbcUrl"
            invokevirtual io.vertx.core.json.JsonObject.getString:(Ljava/lang/String;)Ljava/lang/String;
            invokevirtual io.agroal.api.configuration.supplier.AgroalConnectionFactoryConfigurationSupplier.jdbcUrl:(Ljava/lang/String;)Lio/agroal/api/configuration/supplier/AgroalConnectionFactoryConfigurationSupplier;
         2: .line 43
            new io.agroal.api.security.NamePrincipal
            dup
            aload 0
            ldc "principal"
            invokevirtual io.vertx.core.json.JsonObject.getString:(Ljava/lang/String;)Ljava/lang/String;
            invokespecial io.agroal.api.security.NamePrincipal.<init>:(Ljava/lang/String;)V
            invokevirtual io.agroal.api.configuration.supplier.AgroalConnectionFactoryConfigurationSupplier.principal:(Ljava/security/Principal;)Lio/agroal/api/configuration/supplier/AgroalConnectionFactoryConfigurationSupplier;
         3: .line 44
            new io.agroal.api.security.SimplePassword
            dup
            aload 0
            ldc "credential"
            invokevirtual io.vertx.core.json.JsonObject.getString:(Ljava/lang/String;)Ljava/lang/String;
            invokespecial io.agroal.api.security.SimplePassword.<init>:(Ljava/lang/String;)V
            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
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     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