public interface io.vertx.ext.auth.mongo.MongoAuth extends io.vertx.ext.auth.AuthProvider
  minor version: 0
  major version: 59
  flags: flags: (0x0601) ACC_PUBLIC, ACC_INTERFACE, ACC_ABSTRACT
  this_class: io.vertx.ext.auth.mongo.MongoAuth
  super_class: java.lang.Object
{
  public static final java.lang.String PROPERTY_COLLECTION_NAME;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "collectionName"

  public static final java.lang.String PROPERTY_USERNAME_FIELD;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "usernameField"

  public static final java.lang.String PROPERTY_ROLE_FIELD;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "roleField"

  public static final java.lang.String PROPERTY_PERMISSION_FIELD;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "permissionField"

  public static final java.lang.String PROPERTY_PASSWORD_FIELD;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "passwordField"

  public static final java.lang.String PROPERTY_CREDENTIAL_USERNAME_FIELD;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "usernameCredentialField"

  public static final java.lang.String PROPERTY_CREDENTIAL_PASSWORD_FIELD;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "passwordCredentialField"

  public static final java.lang.String PROPERTY_SALT_FIELD;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "saltField"

  public static final java.lang.String PROPERTY_SALT_STYLE;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "saltStyle"

  public static final java.lang.String DEFAULT_COLLECTION_NAME;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "user"

  public static final java.lang.String DEFAULT_USERNAME_FIELD;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "username"

  public static final java.lang.String DEFAULT_PASSWORD_FIELD;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "password"

  public static final java.lang.String DEFAULT_ROLE_FIELD;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "roles"

  public static final java.lang.String DEFAULT_PERMISSION_FIELD;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "permissions"

  public static final java.lang.String DEFAULT_CREDENTIAL_USERNAME_FIELD;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "username"

  public static final java.lang.String DEFAULT_CREDENTIAL_PASSWORD_FIELD;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "password"

  public static final java.lang.String DEFAULT_SALT_FIELD;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "salt"

  public static final java.lang.String ROLE_PREFIX;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "role:"

  public static io.vertx.ext.auth.mongo.MongoAuth create(io.vertx.ext.mongo.MongoClient, io.vertx.core.json.JsonObject);
    descriptor: (Lio/vertx/ext/mongo/MongoClient;Lio/vertx/core/json/JsonObject;)Lio/vertx/ext/auth/mongo/MongoAuth;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // io.vertx.ext.mongo.MongoClient mongoClient
        start local 1 // io.vertx.core.json.JsonObject config
         0: .line 151
            new io.vertx.ext.auth.mongo.impl.MongoAuthImpl
            dup
            aload 0 /* mongoClient */
            aload 1 /* config */
            invokespecial io.vertx.ext.auth.mongo.impl.MongoAuthImpl.<init>:(Lio/vertx/ext/mongo/MongoClient;Lio/vertx/core/json/JsonObject;)V
            areturn
        end local 1 // io.vertx.core.json.JsonObject config
        end local 0 // io.vertx.ext.mongo.MongoClient mongoClient
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    1     0  mongoClient  Lio/vertx/ext/mongo/MongoClient;
            0    1     1       config  Lio/vertx/core/json/JsonObject;
    MethodParameters:
             Name  Flags
      mongoClient  
      config       

  public abstract io.vertx.ext.auth.mongo.MongoAuth setCollectionName(java.lang.String);
    descriptor: (Ljava/lang/String;)Lio/vertx/ext/auth/mongo/MongoAuth;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    RuntimeVisibleAnnotations: 
      io.vertx.codegen.annotations.Fluent()
    MethodParameters:
                Name  Flags
      collectionName  

  public abstract io.vertx.ext.auth.mongo.MongoAuth setUsernameField(java.lang.String);
    descriptor: (Ljava/lang/String;)Lio/vertx/ext/auth/mongo/MongoAuth;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    RuntimeVisibleAnnotations: 
      io.vertx.codegen.annotations.Fluent()
    MethodParameters:
           Name  Flags
      fieldName  

  public abstract io.vertx.ext.auth.mongo.MongoAuth setPasswordField(java.lang.String);
    descriptor: (Ljava/lang/String;)Lio/vertx/ext/auth/mongo/MongoAuth;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    RuntimeVisibleAnnotations: 
      io.vertx.codegen.annotations.Fluent()
    MethodParameters:
           Name  Flags
      fieldName  

  public abstract io.vertx.ext.auth.mongo.MongoAuth setRoleField(java.lang.String);
    descriptor: (Ljava/lang/String;)Lio/vertx/ext/auth/mongo/MongoAuth;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    RuntimeVisibleAnnotations: 
      io.vertx.codegen.annotations.Fluent()
    MethodParameters:
           Name  Flags
      fieldName  

  public abstract io.vertx.ext.auth.mongo.MongoAuth setPermissionField(java.lang.String);
    descriptor: (Ljava/lang/String;)Lio/vertx/ext/auth/mongo/MongoAuth;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    RuntimeVisibleAnnotations: 
      io.vertx.codegen.annotations.Fluent()
    MethodParameters:
           Name  Flags
      fieldName  

  public abstract io.vertx.ext.auth.mongo.MongoAuth setUsernameCredentialField(java.lang.String);
    descriptor: (Ljava/lang/String;)Lio/vertx/ext/auth/mongo/MongoAuth;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    RuntimeVisibleAnnotations: 
      io.vertx.codegen.annotations.Fluent()
    MethodParameters:
           Name  Flags
      fieldName  

  public abstract io.vertx.ext.auth.mongo.MongoAuth setPasswordCredentialField(java.lang.String);
    descriptor: (Ljava/lang/String;)Lio/vertx/ext/auth/mongo/MongoAuth;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    RuntimeVisibleAnnotations: 
      io.vertx.codegen.annotations.Fluent()
    MethodParameters:
           Name  Flags
      fieldName  

  public abstract io.vertx.ext.auth.mongo.MongoAuth setSaltField(java.lang.String);
    descriptor: (Ljava/lang/String;)Lio/vertx/ext/auth/mongo/MongoAuth;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    RuntimeVisibleAnnotations: 
      io.vertx.codegen.annotations.Fluent()
    MethodParameters:
           Name  Flags
      fieldName  

  public abstract java.lang.String getCollectionName();
    descriptor: ()Ljava/lang/String;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT

  public abstract java.lang.String getUsernameField();
    descriptor: ()Ljava/lang/String;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT

  public abstract java.lang.String getPasswordField();
    descriptor: ()Ljava/lang/String;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT

  public abstract java.lang.String getRoleField();
    descriptor: ()Ljava/lang/String;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT

  public abstract java.lang.String getPermissionField();
    descriptor: ()Ljava/lang/String;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT

  public abstract java.lang.String getUsernameCredentialField();
    descriptor: ()Ljava/lang/String;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT

  public abstract java.lang.String getPasswordCredentialField();
    descriptor: ()Ljava/lang/String;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT

  public abstract java.lang.String getSaltField();
    descriptor: ()Ljava/lang/String;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT

  public abstract io.vertx.ext.auth.mongo.MongoAuth setHashStrategy(io.vertx.ext.auth.mongo.HashStrategy);
    descriptor: (Lio/vertx/ext/auth/mongo/HashStrategy;)Lio/vertx/ext/auth/mongo/MongoAuth;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    RuntimeVisibleAnnotations: 
      io.vertx.codegen.annotations.Fluent()
    MethodParameters:
              Name  Flags
      hashStrategy  

  public abstract io.vertx.ext.auth.mongo.HashStrategy getHashStrategy();
    descriptor: ()Lio/vertx/ext/auth/mongo/HashStrategy;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT

  public abstract io.vertx.ext.auth.mongo.MongoAuth setHashAlgorithm(io.vertx.ext.auth.mongo.HashAlgorithm);
    descriptor: (Lio/vertx/ext/auth/mongo/HashAlgorithm;)Lio/vertx/ext/auth/mongo/MongoAuth;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    RuntimeVisibleAnnotations: 
      io.vertx.codegen.annotations.Fluent()
    MethodParameters:
               Name  Flags
      hashAlgorithm  

  public abstract void insertUser(java.lang.String, java.lang.String, java.util.List<java.lang.String>, java.util.List<java.lang.String>, io.vertx.core.Handler<io.vertx.core.AsyncResult<java.lang.String>>);
    descriptor: (Ljava/lang/String;Ljava/lang/String;Ljava/util/List;Ljava/util/List;Lio/vertx/core/Handler;)V
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    Signature: (Ljava/lang/String;Ljava/lang/String;Ljava/util/List<Ljava/lang/String;>;Ljava/util/List<Ljava/lang/String;>;Lio/vertx/core/Handler<Lio/vertx/core/AsyncResult<Ljava/lang/String;>;>;)V
    MethodParameters:
               Name  Flags
      username       
      password       
      roles          
      permissions    
      resultHandler  
}
SourceFile: "MongoAuth.java"
    RuntimeVisibleAnnotations: 
      io.vertx.codegen.annotations.VertxGen()