public class org.apache.catalina.authenticator.jaspic.SimpleServerAuthConfig implements jakarta.security.auth.message.config.ServerAuthConfig
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.apache.catalina.authenticator.jaspic.SimpleServerAuthConfig
  super_class: java.lang.Object
{
  private static org.apache.tomcat.util.res.StringManager sm;
    descriptor: Lorg/apache/tomcat/util/res/StringManager;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC

  private static final java.lang.String SERVER_AUTH_MODULE_KEY_PREFIX;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: "org.apache.catalina.authenticator.jaspic.ServerAuthModule."

  private final java.lang.String layer;
    descriptor: Ljava/lang/String;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final java.lang.String appContext;
    descriptor: Ljava/lang/String;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final javax.security.auth.callback.CallbackHandler handler;
    descriptor: Ljavax/security/auth/callback/CallbackHandler;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final java.util.Map<java.lang.String, java.lang.String> properties;
    descriptor: Ljava/util/Map;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Ljava/util/Map<Ljava/lang/String;Ljava/lang/String;>;

  private volatile jakarta.security.auth.message.config.ServerAuthContext serverAuthContext;
    descriptor: Ljakarta/security/auth/message/config/ServerAuthContext;
    flags: (0x0042) ACC_PRIVATE, ACC_VOLATILE

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 43
            ldc Lorg/apache/catalina/authenticator/jaspic/SimpleServerAuthConfig;
            invokestatic org.apache.tomcat.util.res.StringManager.getManager:(Ljava/lang/Class;)Lorg/apache/tomcat/util/res/StringManager;
            putstatic org.apache.catalina.authenticator.jaspic.SimpleServerAuthConfig.sm:Lorg/apache/tomcat/util/res/StringManager;
         1: .line 46
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public void <init>(java.lang.String, java.lang.String, javax.security.auth.callback.CallbackHandler, java.util.Map<java.lang.String, java.lang.String>);
    descriptor: (Ljava/lang/String;Ljava/lang/String;Ljavax/security/auth/callback/CallbackHandler;Ljava/util/Map;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=5, args_size=5
        start local 0 // org.apache.catalina.authenticator.jaspic.SimpleServerAuthConfig this
        start local 1 // java.lang.String layer
        start local 2 // java.lang.String appContext
        start local 3 // javax.security.auth.callback.CallbackHandler handler
        start local 4 // java.util.Map properties
         0: .line 55
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 57
            aload 0 /* this */
            aload 1 /* layer */
            putfield org.apache.catalina.authenticator.jaspic.SimpleServerAuthConfig.layer:Ljava/lang/String;
         2: .line 58
            aload 0 /* this */
            aload 2 /* appContext */
            putfield org.apache.catalina.authenticator.jaspic.SimpleServerAuthConfig.appContext:Ljava/lang/String;
         3: .line 59
            aload 0 /* this */
            aload 3 /* handler */
            putfield org.apache.catalina.authenticator.jaspic.SimpleServerAuthConfig.handler:Ljavax/security/auth/callback/CallbackHandler;
         4: .line 60
            aload 0 /* this */
            aload 4 /* properties */
            putfield org.apache.catalina.authenticator.jaspic.SimpleServerAuthConfig.properties:Ljava/util/Map;
         5: .line 61
            return
        end local 4 // java.util.Map properties
        end local 3 // javax.security.auth.callback.CallbackHandler handler
        end local 2 // java.lang.String appContext
        end local 1 // java.lang.String layer
        end local 0 // org.apache.catalina.authenticator.jaspic.SimpleServerAuthConfig this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    6     0        this  Lorg/apache/catalina/authenticator/jaspic/SimpleServerAuthConfig;
            0    6     1       layer  Ljava/lang/String;
            0    6     2  appContext  Ljava/lang/String;
            0    6     3     handler  Ljavax/security/auth/callback/CallbackHandler;
            0    6     4  properties  Ljava/util/Map<Ljava/lang/String;Ljava/lang/String;>;
    Signature: (Ljava/lang/String;Ljava/lang/String;Ljavax/security/auth/callback/CallbackHandler;Ljava/util/Map<Ljava/lang/String;Ljava/lang/String;>;)V
    MethodParameters:
            Name  Flags
      layer       
      appContext  
      handler     
      properties  

  public java.lang.String getMessageLayer();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.apache.catalina.authenticator.jaspic.SimpleServerAuthConfig this
         0: .line 66
            aload 0 /* this */
            getfield org.apache.catalina.authenticator.jaspic.SimpleServerAuthConfig.layer:Ljava/lang/String;
            areturn
        end local 0 // org.apache.catalina.authenticator.jaspic.SimpleServerAuthConfig this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/catalina/authenticator/jaspic/SimpleServerAuthConfig;

  public java.lang.String getAppContext();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.apache.catalina.authenticator.jaspic.SimpleServerAuthConfig this
         0: .line 72
            aload 0 /* this */
            getfield org.apache.catalina.authenticator.jaspic.SimpleServerAuthConfig.appContext:Ljava/lang/String;
            areturn
        end local 0 // org.apache.catalina.authenticator.jaspic.SimpleServerAuthConfig this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/catalina/authenticator/jaspic/SimpleServerAuthConfig;

  public java.lang.String getAuthContextID(jakarta.security.auth.message.MessageInfo);
    descriptor: (Ljakarta/security/auth/message/MessageInfo;)Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=2, args_size=2
        start local 0 // org.apache.catalina.authenticator.jaspic.SimpleServerAuthConfig this
        start local 1 // jakarta.security.auth.message.MessageInfo messageInfo
         0: .line 78
            aload 1 /* messageInfo */
            invokevirtual java.lang.Object.toString:()Ljava/lang/String;
            areturn
        end local 1 // jakarta.security.auth.message.MessageInfo messageInfo
        end local 0 // org.apache.catalina.authenticator.jaspic.SimpleServerAuthConfig this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    1     0         this  Lorg/apache/catalina/authenticator/jaspic/SimpleServerAuthConfig;
            0    1     1  messageInfo  Ljakarta/security/auth/message/MessageInfo;
    MethodParameters:
             Name  Flags
      messageInfo  

  public void refresh();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.apache.catalina.authenticator.jaspic.SimpleServerAuthConfig this
         0: .line 84
            aload 0 /* this */
            aconst_null
            putfield org.apache.catalina.authenticator.jaspic.SimpleServerAuthConfig.serverAuthContext:Ljakarta/security/auth/message/config/ServerAuthContext;
         1: .line 85
            return
        end local 0 // org.apache.catalina.authenticator.jaspic.SimpleServerAuthConfig this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/apache/catalina/authenticator/jaspic/SimpleServerAuthConfig;

  public boolean isProtected();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.apache.catalina.authenticator.jaspic.SimpleServerAuthConfig this
         0: .line 90
            iconst_0
            ireturn
        end local 0 // org.apache.catalina.authenticator.jaspic.SimpleServerAuthConfig this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/catalina/authenticator/jaspic/SimpleServerAuthConfig;

  public jakarta.security.auth.message.config.ServerAuthContext getAuthContext(java.lang.String, javax.security.auth.Subject, java.util.Map);
    descriptor: (Ljava/lang/String;Ljavax/security/auth/Subject;Ljava/util/Map;)Ljakarta/security/auth/message/config/ServerAuthContext;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=13, args_size=4
        start local 0 // org.apache.catalina.authenticator.jaspic.SimpleServerAuthConfig this
        start local 1 // java.lang.String authContextID
        start local 2 // javax.security.auth.Subject serviceSubject
        start local 3 // java.util.Map properties
         0: .line 98
            aload 0 /* this */
            getfield org.apache.catalina.authenticator.jaspic.SimpleServerAuthConfig.serverAuthContext:Ljakarta/security/auth/message/config/ServerAuthContext;
            astore 4 /* serverAuthContext */
        start local 4 // jakarta.security.auth.message.config.ServerAuthContext serverAuthContext
         1: .line 99
            aload 4 /* serverAuthContext */
            ifnonnull 36
         2: .line 100
            aload 0 /* this */
            dup
            astore 5
            monitorenter
         3: .line 101
            aload 0 /* this */
            getfield org.apache.catalina.authenticator.jaspic.SimpleServerAuthConfig.serverAuthContext:Ljakarta/security/auth/message/config/ServerAuthContext;
            ifnonnull 31
         4: .line 102
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            astore 6 /* mergedProperties */
        start local 6 // java.util.Map mergedProperties
         5: .line 103
            aload 0 /* this */
            getfield org.apache.catalina.authenticator.jaspic.SimpleServerAuthConfig.properties:Ljava/util/Map;
            ifnull 7
         6: .line 104
            aload 6 /* mergedProperties */
            aload 0 /* this */
            getfield org.apache.catalina.authenticator.jaspic.SimpleServerAuthConfig.properties:Ljava/util/Map;
            invokeinterface java.util.Map.putAll:(Ljava/util/Map;)V
         7: .line 106
      StackMap locals: jakarta.security.auth.message.config.ServerAuthContext org.apache.catalina.authenticator.jaspic.SimpleServerAuthConfig java.util.Map
      StackMap stack:
            aload 3 /* properties */
            ifnull 9
         8: .line 107
            aload 6 /* mergedProperties */
            aload 3 /* properties */
            invokeinterface java.util.Map.putAll:(Ljava/util/Map;)V
         9: .line 110
      StackMap locals:
      StackMap stack:
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 7 /* modules */
        start local 7 // java.util.List modules
        10: .line 111
            iconst_1
            istore 8 /* moduleIndex */
        start local 8 // int moduleIndex
        11: .line 112
            new java.lang.StringBuilder
            dup
            ldc "org.apache.catalina.authenticator.jaspic.ServerAuthModule."
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 8 /* moduleIndex */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 9 /* key */
        start local 9 // java.lang.String key
        12: .line 113
            aload 6 /* mergedProperties */
            aload 9 /* key */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.lang.String
            astore 10 /* moduleClassName */
        start local 10 // java.lang.String moduleClassName
        13: .line 114
            goto 27
        14: .line 116
      StackMap locals: org.apache.catalina.authenticator.jaspic.SimpleServerAuthConfig java.lang.String javax.security.auth.Subject java.util.Map jakarta.security.auth.message.config.ServerAuthContext org.apache.catalina.authenticator.jaspic.SimpleServerAuthConfig java.util.Map java.util.List int java.lang.String java.lang.String
      StackMap stack:
            aload 10 /* moduleClassName */
            invokestatic java.lang.Class.forName:(Ljava/lang/String;)Ljava/lang/Class;
            astore 11 /* clazz */
        start local 11 // java.lang.Class clazz
        15: .line 118
            aload 11 /* clazz */
            iconst_0
            anewarray java.lang.Class
            invokevirtual java.lang.Class.getConstructor:([Ljava/lang/Class;)Ljava/lang/reflect/Constructor;
            iconst_0
            anewarray java.lang.Object
            invokevirtual java.lang.reflect.Constructor.newInstance:([Ljava/lang/Object;)Ljava/lang/Object;
            checkcast jakarta.security.auth.message.module.ServerAuthModule
        16: .line 117
            astore 12 /* module */
        start local 12 // jakarta.security.auth.message.module.ServerAuthModule module
        17: .line 119
            aload 12 /* module */
            aconst_null
            aconst_null
            aload 0 /* this */
            getfield org.apache.catalina.authenticator.jaspic.SimpleServerAuthConfig.handler:Ljavax/security/auth/callback/CallbackHandler;
            aload 6 /* mergedProperties */
            invokeinterface jakarta.security.auth.message.module.ServerAuthModule.initialize:(Ljakarta/security/auth/message/MessagePolicy;Ljakarta/security/auth/message/MessagePolicy;Ljavax/security/auth/callback/CallbackHandler;Ljava/util/Map;)V
        18: .line 120
            aload 7 /* modules */
            aload 12 /* module */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        end local 12 // jakarta.security.auth.message.module.ServerAuthModule module
        end local 11 // java.lang.Class clazz
        19: .line 121
            goto 24
        20: .line 122
      StackMap locals:
      StackMap stack: java.lang.Exception
            astore 11 /* e */
        start local 11 // java.lang.Exception e
        21: .line 123
            new jakarta.security.auth.message.AuthException
            dup
            invokespecial jakarta.security.auth.message.AuthException.<init>:()V
            astore 12 /* ae */
        start local 12 // jakarta.security.auth.message.AuthException ae
        22: .line 124
            aload 12 /* ae */
            aload 11 /* e */
            invokevirtual jakarta.security.auth.message.AuthException.initCause:(Ljava/lang/Throwable;)Ljava/lang/Throwable;
            pop
        23: .line 125
            aload 12 /* ae */
            athrow
        end local 12 // jakarta.security.auth.message.AuthException ae
        end local 11 // java.lang.Exception e
        24: .line 129
      StackMap locals:
      StackMap stack:
            iinc 8 /* moduleIndex */ 1
        25: .line 130
            new java.lang.StringBuilder
            dup
            ldc "org.apache.catalina.authenticator.jaspic.ServerAuthModule."
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 8 /* moduleIndex */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 9 /* key */
        26: .line 131
            aload 6 /* mergedProperties */
            aload 9 /* key */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.lang.String
            astore 10 /* moduleClassName */
        27: .line 114
      StackMap locals:
      StackMap stack:
            aload 10 /* moduleClassName */
            ifnonnull 14
        28: .line 134
            aload 7 /* modules */
            invokeinterface java.util.List.size:()I
            ifne 30
        29: .line 135
            new jakarta.security.auth.message.AuthException
            dup
            getstatic org.apache.catalina.authenticator.jaspic.SimpleServerAuthConfig.sm:Lorg/apache/tomcat/util/res/StringManager;
            ldc "simpleServerAuthConfig.noModules"
            invokevirtual org.apache.tomcat.util.res.StringManager.getString:(Ljava/lang/String;)Ljava/lang/String;
            invokespecial jakarta.security.auth.message.AuthException.<init>:(Ljava/lang/String;)V
            athrow
        30: .line 138
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            aload 7 /* modules */
            invokevirtual org.apache.catalina.authenticator.jaspic.SimpleServerAuthConfig.createServerAuthContext:(Ljava/util/List;)Ljakarta/security/auth/message/config/ServerAuthContext;
            putfield org.apache.catalina.authenticator.jaspic.SimpleServerAuthConfig.serverAuthContext:Ljakarta/security/auth/message/config/ServerAuthContext;
        end local 10 // java.lang.String moduleClassName
        end local 9 // java.lang.String key
        end local 8 // int moduleIndex
        end local 7 // java.util.List modules
        end local 6 // java.util.Map mergedProperties
        31: .line 140
      StackMap locals: org.apache.catalina.authenticator.jaspic.SimpleServerAuthConfig java.lang.String javax.security.auth.Subject java.util.Map jakarta.security.auth.message.config.ServerAuthContext org.apache.catalina.authenticator.jaspic.SimpleServerAuthConfig
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.catalina.authenticator.jaspic.SimpleServerAuthConfig.serverAuthContext:Ljakarta/security/auth/message/config/ServerAuthContext;
            astore 4 /* serverAuthContext */
        32: .line 100
            aload 5
            monitorexit
        33: goto 36
      StackMap locals:
      StackMap stack: java.lang.Throwable
        34: aload 5
            monitorexit
        35: athrow
        36: .line 144
      StackMap locals:
      StackMap stack:
            aload 4 /* serverAuthContext */
            areturn
        end local 4 // jakarta.security.auth.message.config.ServerAuthContext serverAuthContext
        end local 3 // java.util.Map properties
        end local 2 // javax.security.auth.Subject serviceSubject
        end local 1 // java.lang.String authContextID
        end local 0 // org.apache.catalina.authenticator.jaspic.SimpleServerAuthConfig this
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0   37     0               this  Lorg/apache/catalina/authenticator/jaspic/SimpleServerAuthConfig;
            0   37     1      authContextID  Ljava/lang/String;
            0   37     2     serviceSubject  Ljavax/security/auth/Subject;
            0   37     3         properties  Ljava/util/Map;
            1   37     4  serverAuthContext  Ljakarta/security/auth/message/config/ServerAuthContext;
            5   31     6   mergedProperties  Ljava/util/Map<Ljava/lang/String;Ljava/lang/String;>;
           10   31     7            modules  Ljava/util/List<Ljakarta/security/auth/message/module/ServerAuthModule;>;
           11   31     8        moduleIndex  I
           12   31     9                key  Ljava/lang/String;
           13   31    10    moduleClassName  Ljava/lang/String;
           15   19    11              clazz  Ljava/lang/Class<*>;
           17   19    12             module  Ljakarta/security/auth/message/module/ServerAuthModule;
           21   24    11                  e  Ljava/lang/Exception;
           22   24    12                 ae  Ljakarta/security/auth/message/AuthException;
      Exception table:
        from    to  target  type
          14    19      20  Class java.lang.ReflectiveOperationException
          14    19      20  Class java.lang.IllegalArgumentException
          14    19      20  Class java.lang.SecurityException
           3    33      34  any
          34    35      34  any
    Exceptions:
      throws jakarta.security.auth.message.AuthException
    MethodParameters:
                Name  Flags
      authContextID   
      serviceSubject  
      properties      

  protected jakarta.security.auth.message.config.ServerAuthContext createServerAuthContext(java.util.List<jakarta.security.auth.message.module.ServerAuthModule>);
    descriptor: (Ljava/util/List;)Ljakarta/security/auth/message/config/ServerAuthContext;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.apache.catalina.authenticator.jaspic.SimpleServerAuthConfig this
        start local 1 // java.util.List modules
         0: .line 149
            new org.apache.catalina.authenticator.jaspic.SimpleServerAuthContext
            dup
            aload 1 /* modules */
            invokespecial org.apache.catalina.authenticator.jaspic.SimpleServerAuthContext.<init>:(Ljava/util/List;)V
            areturn
        end local 1 // java.util.List modules
        end local 0 // org.apache.catalina.authenticator.jaspic.SimpleServerAuthConfig this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0     this  Lorg/apache/catalina/authenticator/jaspic/SimpleServerAuthConfig;
            0    1     1  modules  Ljava/util/List<Ljakarta/security/auth/message/module/ServerAuthModule;>;
    Signature: (Ljava/util/List<Ljakarta/security/auth/message/module/ServerAuthModule;>;)Ljakarta/security/auth/message/config/ServerAuthContext;
    MethodParameters:
         Name  Flags
      modules  
}
SourceFile: "SimpleServerAuthConfig.java"