public interface io.vertx.ext.auth.authentication.AuthenticationProvider
  minor version: 0
  major version: 59
  flags: flags: (0x0601) ACC_PUBLIC, ACC_INTERFACE, ACC_ABSTRACT
  this_class: io.vertx.ext.auth.authentication.AuthenticationProvider
  super_class: java.lang.Object
{
  public abstract void authenticate(io.vertx.core.json.JsonObject, io.vertx.core.Handler<io.vertx.core.AsyncResult<io.vertx.ext.auth.User>>);
    descriptor: (Lio/vertx/core/json/JsonObject;Lio/vertx/core/Handler;)V
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    Signature: (Lio/vertx/core/json/JsonObject;Lio/vertx/core/Handler<Lio/vertx/core/AsyncResult<Lio/vertx/ext/auth/User;>;>;)V
    MethodParameters:
               Name  Flags
      credentials    
      resultHandler  

  public io.vertx.core.Future<io.vertx.ext.auth.User> authenticate(io.vertx.core.json.JsonObject);
    descriptor: (Lio/vertx/core/json/JsonObject;)Lio/vertx/core/Future;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // io.vertx.ext.auth.authentication.AuthenticationProvider this
        start local 1 // io.vertx.core.json.JsonObject credentials
         0: .line 81
            invokestatic io.vertx.core.Promise.promise:()Lio/vertx/core/Promise;
            astore 2 /* promise */
        start local 2 // io.vertx.core.Promise promise
         1: .line 82
            aload 0 /* this */
            aload 1 /* credentials */
            aload 2 /* promise */
            invokeinterface io.vertx.ext.auth.authentication.AuthenticationProvider.authenticate:(Lio/vertx/core/json/JsonObject;Lio/vertx/core/Handler;)V
         2: .line 83
            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.core.json.JsonObject credentials
        end local 0 // io.vertx.ext.auth.authentication.AuthenticationProvider this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    3     0         this  Lio/vertx/ext/auth/authentication/AuthenticationProvider;
            0    3     1  credentials  Lio/vertx/core/json/JsonObject;
            1    3     2      promise  Lio/vertx/core/Promise<Lio/vertx/ext/auth/User;>;
    Signature: (Lio/vertx/core/json/JsonObject;)Lio/vertx/core/Future<Lio/vertx/ext/auth/User;>;
    MethodParameters:
             Name  Flags
      credentials  

  public void authenticate(io.vertx.ext.auth.authentication.Credentials, io.vertx.core.Handler<io.vertx.core.AsyncResult<io.vertx.ext.auth.User>>);
    descriptor: (Lio/vertx/ext/auth/authentication/Credentials;Lio/vertx/core/Handler;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=4, args_size=3
        start local 0 // io.vertx.ext.auth.authentication.AuthenticationProvider this
        start local 1 // io.vertx.ext.auth.authentication.Credentials credentials
        start local 2 // io.vertx.core.Handler resultHandler
         0: .line 101
            aload 1 /* credentials */
            aconst_null
            invokeinterface io.vertx.ext.auth.authentication.Credentials.checkValid:(Ljava/lang/Object;)V
         1: .line 102
            aload 0 /* this */
            aload 1 /* credentials */
            invokeinterface io.vertx.ext.auth.authentication.Credentials.toJson:()Lio/vertx/core/json/JsonObject;
            aload 2 /* resultHandler */
            invokeinterface io.vertx.ext.auth.authentication.AuthenticationProvider.authenticate:(Lio/vertx/core/json/JsonObject;Lio/vertx/core/Handler;)V
         2: .line 103
            goto 5
      StackMap locals:
      StackMap stack: io.vertx.ext.auth.authentication.CredentialValidationException
         3: astore 3 /* e */
        start local 3 // io.vertx.ext.auth.authentication.CredentialValidationException e
         4: .line 104
            aload 2 /* resultHandler */
            aload 3 /* e */
            invokestatic io.vertx.core.Future.failedFuture:(Ljava/lang/Throwable;)Lio/vertx/core/Future;
            invokeinterface io.vertx.core.Handler.handle:(Ljava/lang/Object;)V
        end local 3 // io.vertx.ext.auth.authentication.CredentialValidationException e
         5: .line 106
      StackMap locals:
      StackMap stack:
            return
        end local 2 // io.vertx.core.Handler resultHandler
        end local 1 // io.vertx.ext.auth.authentication.Credentials credentials
        end local 0 // io.vertx.ext.auth.authentication.AuthenticationProvider this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    6     0           this  Lio/vertx/ext/auth/authentication/AuthenticationProvider;
            0    6     1    credentials  Lio/vertx/ext/auth/authentication/Credentials;
            0    6     2  resultHandler  Lio/vertx/core/Handler<Lio/vertx/core/AsyncResult<Lio/vertx/ext/auth/User;>;>;
            4    5     3              e  Lio/vertx/ext/auth/authentication/CredentialValidationException;
      Exception table:
        from    to  target  type
           0     2       3  Class io.vertx.ext.auth.authentication.CredentialValidationException
    Signature: (Lio/vertx/ext/auth/authentication/Credentials;Lio/vertx/core/Handler<Lio/vertx/core/AsyncResult<Lio/vertx/ext/auth/User;>;>;)V
    RuntimeVisibleAnnotations: 
      io.vertx.codegen.annotations.GenIgnore(value = {"permitted-type"})
    MethodParameters:
               Name  Flags
      credentials    
      resultHandler  

  public io.vertx.core.Future<io.vertx.ext.auth.User> authenticate(io.vertx.ext.auth.authentication.Credentials);
    descriptor: (Lio/vertx/ext/auth/authentication/Credentials;)Lio/vertx/core/Future;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // io.vertx.ext.auth.authentication.AuthenticationProvider this
        start local 1 // io.vertx.ext.auth.authentication.Credentials credentials
         0: .line 120
            invokestatic io.vertx.core.Promise.promise:()Lio/vertx/core/Promise;
            astore 2 /* promise */
        start local 2 // io.vertx.core.Promise promise
         1: .line 121
            aload 0 /* this */
            aload 1 /* credentials */
            aload 2 /* promise */
            invokeinterface io.vertx.ext.auth.authentication.AuthenticationProvider.authenticate:(Lio/vertx/ext/auth/authentication/Credentials;Lio/vertx/core/Handler;)V
         2: .line 122
            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.authentication.Credentials credentials
        end local 0 // io.vertx.ext.auth.authentication.AuthenticationProvider this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    3     0         this  Lio/vertx/ext/auth/authentication/AuthenticationProvider;
            0    3     1  credentials  Lio/vertx/ext/auth/authentication/Credentials;
            1    3     2      promise  Lio/vertx/core/Promise<Lio/vertx/ext/auth/User;>;
    Signature: (Lio/vertx/ext/auth/authentication/Credentials;)Lio/vertx/core/Future<Lio/vertx/ext/auth/User;>;
    RuntimeVisibleAnnotations: 
      io.vertx.codegen.annotations.GenIgnore(value = {"permitted-type"})
    RuntimeVisibleTypeAnnotations: 
      METHOD_RETURN
        io.vertx.codegen.annotations.GenIgnore(value = {"permitted-type"})
    MethodParameters:
             Name  Flags
      credentials  
}
SourceFile: "AuthenticationProvider.java"
    RuntimeVisibleAnnotations: 
      io.vertx.codegen.annotations.VertxGen()