public interface io.vertx.ext.auth.oauth2.providers.IBMCloudAuth extends io.vertx.ext.auth.oauth2.providers.OpenIDConnectAuth
  minor version: 0
  major version: 59
  flags: flags: (0x0601) ACC_PUBLIC, ACC_INTERFACE, ACC_ABSTRACT
  this_class: io.vertx.ext.auth.oauth2.providers.IBMCloudAuth
  super_class: java.lang.Object
{
  public static io.vertx.ext.auth.oauth2.OAuth2Auth create(io.vertx.core.Vertx, java.lang.String, java.lang.String, java.lang.String, java.lang.String);
    descriptor: (Lio/vertx/core/Vertx;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Lio/vertx/ext/auth/oauth2/OAuth2Auth;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=7, locals=5, args_size=5
        start local 0 // io.vertx.core.Vertx vertx
        start local 1 // java.lang.String region
        start local 2 // java.lang.String clientId
        start local 3 // java.lang.String clientSecret
        start local 4 // java.lang.String guid
         0: .line 42
            aload 0 /* vertx */
            aload 1 /* region */
            aload 2 /* clientId */
            aload 3 /* clientSecret */
            aload 4 /* guid */
            new io.vertx.core.http.HttpClientOptions
            dup
            invokespecial io.vertx.core.http.HttpClientOptions.<init>:()V
            invokestatic io.vertx.ext.auth.oauth2.providers.IBMCloudAuth.create:(Lio/vertx/core/Vertx;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Lio/vertx/core/http/HttpClientOptions;)Lio/vertx/ext/auth/oauth2/OAuth2Auth;
            areturn
        end local 4 // java.lang.String guid
        end local 3 // java.lang.String clientSecret
        end local 2 // java.lang.String clientId
        end local 1 // java.lang.String region
        end local 0 // io.vertx.core.Vertx vertx
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    1     0         vertx  Lio/vertx/core/Vertx;
            0    1     1        region  Ljava/lang/String;
            0    1     2      clientId  Ljava/lang/String;
            0    1     3  clientSecret  Ljava/lang/String;
            0    1     4          guid  Ljava/lang/String;
    MethodParameters:
              Name  Flags
      vertx         
      region        
      clientId      
      clientSecret  
      guid          

  public static io.vertx.ext.auth.oauth2.OAuth2Auth create(io.vertx.core.Vertx, java.lang.String, java.lang.String, java.lang.String, java.lang.String, io.vertx.core.http.HttpClientOptions);
    descriptor: (Lio/vertx/core/Vertx;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Lio/vertx/core/http/HttpClientOptions;)Lio/vertx/ext/auth/oauth2/OAuth2Auth;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=6, args_size=6
        start local 0 // io.vertx.core.Vertx vertx
        start local 1 // java.lang.String region
        start local 2 // java.lang.String clientId
        start local 3 // java.lang.String clientSecret
        start local 4 // java.lang.String guid
        start local 5 // io.vertx.core.http.HttpClientOptions httpClientOptions
         0: .line 55
            aload 1 /* region */
            ifnonnull 2
         1: .line 56
            new java.lang.IllegalStateException
            dup
            ldc "region cannot be null"
            invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 60
      StackMap locals:
      StackMap stack:
            aload 0 /* vertx */
            new io.vertx.ext.auth.oauth2.OAuth2Options
            dup
            invokespecial io.vertx.ext.auth.oauth2.OAuth2Options.<init>:()V
         3: .line 61
            aload 5 /* httpClientOptions */
            invokevirtual io.vertx.ext.auth.oauth2.OAuth2Options.setHttpClientOptions:(Lio/vertx/core/http/HttpClientOptions;)Lio/vertx/ext/auth/oauth2/OAuth2Options;
         4: .line 62
            getstatic io.vertx.ext.auth.oauth2.OAuth2FlowType.AUTH_CODE:Lio/vertx/ext/auth/oauth2/OAuth2FlowType;
            invokevirtual io.vertx.ext.auth.oauth2.OAuth2Options.setFlow:(Lio/vertx/ext/auth/oauth2/OAuth2FlowType;)Lio/vertx/ext/auth/oauth2/OAuth2Options;
         5: .line 63
            aload 2 /* clientId */
            invokevirtual io.vertx.ext.auth.oauth2.OAuth2Options.setClientID:(Ljava/lang/String;)Lio/vertx/ext/auth/oauth2/OAuth2Options;
         6: .line 64
            aload 3 /* clientSecret */
            invokevirtual io.vertx.ext.auth.oauth2.OAuth2Options.setClientSecret:(Ljava/lang/String;)Lio/vertx/ext/auth/oauth2/OAuth2Options;
         7: .line 65
            aload 4 /* guid */
            invokevirtual io.vertx.ext.auth.oauth2.OAuth2Options.setTenant:(Ljava/lang/String;)Lio/vertx/ext/auth/oauth2/OAuth2Options;
         8: .line 66
            new java.lang.StringBuilder
            dup
            ldc "https://"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* region */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc ".appid.cloud.ibm.com/oauth/v4/{tenant}"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual io.vertx.ext.auth.oauth2.OAuth2Options.setSite:(Ljava/lang/String;)Lio/vertx/ext/auth/oauth2/OAuth2Options;
         9: .line 67
            ldc "/token"
            invokevirtual io.vertx.ext.auth.oauth2.OAuth2Options.setTokenPath:(Ljava/lang/String;)Lio/vertx/ext/auth/oauth2/OAuth2Options;
        10: .line 68
            ldc "/authorization"
            invokevirtual io.vertx.ext.auth.oauth2.OAuth2Options.setAuthorizationPath:(Ljava/lang/String;)Lio/vertx/ext/auth/oauth2/OAuth2Options;
        11: .line 69
            ldc "/publickeys"
            invokevirtual io.vertx.ext.auth.oauth2.OAuth2Options.setJwkPath:(Ljava/lang/String;)Lio/vertx/ext/auth/oauth2/OAuth2Options;
        12: .line 70
            ldc "/userinfo"
            invokevirtual io.vertx.ext.auth.oauth2.OAuth2Options.setUserInfoPath:(Ljava/lang/String;)Lio/vertx/ext/auth/oauth2/OAuth2Options;
        13: .line 60
            invokestatic io.vertx.ext.auth.oauth2.OAuth2Auth.create:(Lio/vertx/core/Vertx;Lio/vertx/ext/auth/oauth2/OAuth2Options;)Lio/vertx/ext/auth/oauth2/OAuth2Auth;
        14: .line 59
            areturn
        end local 5 // io.vertx.core.http.HttpClientOptions httpClientOptions
        end local 4 // java.lang.String guid
        end local 3 // java.lang.String clientSecret
        end local 2 // java.lang.String clientId
        end local 1 // java.lang.String region
        end local 0 // io.vertx.core.Vertx vertx
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0   15     0              vertx  Lio/vertx/core/Vertx;
            0   15     1             region  Ljava/lang/String;
            0   15     2           clientId  Ljava/lang/String;
            0   15     3       clientSecret  Ljava/lang/String;
            0   15     4               guid  Ljava/lang/String;
            0   15     5  httpClientOptions  Lio/vertx/core/http/HttpClientOptions;
    MethodParameters:
                   Name  Flags
      vertx              
      region             
      clientId           
      clientSecret       
      guid               
      httpClientOptions  

  public static void discover(io.vertx.core.Vertx, io.vertx.ext.auth.oauth2.OAuth2Options, io.vertx.core.Handler<io.vertx.core.AsyncResult<io.vertx.ext.auth.oauth2.OAuth2Auth>>);
    descriptor: (Lio/vertx/core/Vertx;Lio/vertx/ext/auth/oauth2/OAuth2Options;Lio/vertx/core/Handler;)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // io.vertx.core.Vertx vertx
        start local 1 // io.vertx.ext.auth.oauth2.OAuth2Options config
        start local 2 // io.vertx.core.Handler handler
         0: .line 86
            aload 0 /* vertx */
            aload 1 /* config */
            aload 2 /* handler */
            invokestatic io.vertx.ext.auth.oauth2.providers.OpenIDConnectAuth.discover:(Lio/vertx/core/Vertx;Lio/vertx/ext/auth/oauth2/OAuth2Options;Lio/vertx/core/Handler;)V
         1: .line 87
            return
        end local 2 // io.vertx.core.Handler handler
        end local 1 // io.vertx.ext.auth.oauth2.OAuth2Options config
        end local 0 // io.vertx.core.Vertx vertx
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    2     0    vertx  Lio/vertx/core/Vertx;
            0    2     1   config  Lio/vertx/ext/auth/oauth2/OAuth2Options;
            0    2     2  handler  Lio/vertx/core/Handler<Lio/vertx/core/AsyncResult<Lio/vertx/ext/auth/oauth2/OAuth2Auth;>;>;
    Signature: (Lio/vertx/core/Vertx;Lio/vertx/ext/auth/oauth2/OAuth2Options;Lio/vertx/core/Handler<Lio/vertx/core/AsyncResult<Lio/vertx/ext/auth/oauth2/OAuth2Auth;>;>;)V
    MethodParameters:
         Name  Flags
      vertx    final
      config   final
      handler  final

  public static io.vertx.core.Future<io.vertx.ext.auth.oauth2.OAuth2Auth> discover(io.vertx.core.Vertx, io.vertx.ext.auth.oauth2.OAuth2Options);
    descriptor: (Lio/vertx/core/Vertx;Lio/vertx/ext/auth/oauth2/OAuth2Options;)Lio/vertx/core/Future;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // io.vertx.core.Vertx vertx
        start local 1 // io.vertx.ext.auth.oauth2.OAuth2Options config
         0: .line 103
            invokestatic io.vertx.core.Promise.promise:()Lio/vertx/core/Promise;
            astore 2 /* promise */
        start local 2 // io.vertx.core.Promise promise
         1: .line 104
            aload 0 /* vertx */
            aload 1 /* config */
            aload 2 /* promise */
            invokestatic io.vertx.ext.auth.oauth2.providers.IBMCloudAuth.discover:(Lio/vertx/core/Vertx;Lio/vertx/ext/auth/oauth2/OAuth2Options;Lio/vertx/core/Handler;)V
         2: .line 105
            aload 2 /* promise */
            invokeinterface io.vertx.core.Promise.future:()Lio/vertx/core/Future;
            areturn
        end local 2 // io.vertx.core.Promise promise
        end local 1 // io.vertx.ext.auth.oauth2.OAuth2Options config
        end local 0 // io.vertx.core.Vertx vertx
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    3     0    vertx  Lio/vertx/core/Vertx;
            0    3     1   config  Lio/vertx/ext/auth/oauth2/OAuth2Options;
            1    3     2  promise  Lio/vertx/core/Promise<Lio/vertx/ext/auth/oauth2/OAuth2Auth;>;
    Signature: (Lio/vertx/core/Vertx;Lio/vertx/ext/auth/oauth2/OAuth2Options;)Lio/vertx/core/Future<Lio/vertx/ext/auth/oauth2/OAuth2Auth;>;
    MethodParameters:
        Name  Flags
      vertx   final
      config  final
}
SourceFile: "IBMCloudAuth.java"
    RuntimeVisibleAnnotations: 
      io.vertx.codegen.annotations.VertxGen()