class org.apache.catalina.authenticator.jaspic.AuthConfigFactoryImpl$RegistrationContextImpl implements jakarta.security.auth.message.config.AuthConfigFactory$RegistrationContext
  minor version: 0
  major version: 59
  flags: flags: (0x0020) ACC_SUPER
  this_class: org.apache.catalina.authenticator.jaspic.AuthConfigFactoryImpl$RegistrationContextImpl
  super_class: java.lang.Object
{
  private final java.lang.String messageLayer;
    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 java.lang.String description;
    descriptor: Ljava/lang/String;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final boolean persistent;
    descriptor: Z
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final jakarta.security.auth.message.config.AuthConfigProvider provider;
    descriptor: Ljakarta/security/auth/message/config/AuthConfigProvider;
    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 final java.util.List<org.apache.catalina.authenticator.jaspic.AuthConfigFactoryImpl$RegistrationListenerWrapper> listeners;
    descriptor: Ljava/util/List;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Ljava/util/List<Lorg/apache/catalina/authenticator/jaspic/AuthConfigFactoryImpl$RegistrationListenerWrapper;>;

  private void <init>(java.lang.String, java.lang.String, java.lang.String, boolean, jakarta.security.auth.message.config.AuthConfigProvider, java.util.Map<java.lang.String, java.lang.String>);
    descriptor: (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;ZLjakarta/security/auth/message/config/AuthConfigProvider;Ljava/util/Map;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=8, args_size=7
        start local 0 // org.apache.catalina.authenticator.jaspic.AuthConfigFactoryImpl$RegistrationContextImpl this
        start local 1 // java.lang.String messageLayer
        start local 2 // java.lang.String appContext
        start local 3 // java.lang.String description
        start local 4 // boolean persistent
        start local 5 // jakarta.security.auth.message.config.AuthConfigProvider provider
        start local 6 // java.util.Map properties
         0: .line 410
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 430
            aload 0 /* this */
            new java.util.concurrent.CopyOnWriteArrayList
            dup
            invokespecial java.util.concurrent.CopyOnWriteArrayList.<init>:()V
            putfield org.apache.catalina.authenticator.jaspic.AuthConfigFactoryImpl$RegistrationContextImpl.listeners:Ljava/util/List;
         2: .line 412
            aload 0 /* this */
            aload 1 /* messageLayer */
            putfield org.apache.catalina.authenticator.jaspic.AuthConfigFactoryImpl$RegistrationContextImpl.messageLayer:Ljava/lang/String;
         3: .line 413
            aload 0 /* this */
            aload 2 /* appContext */
            putfield org.apache.catalina.authenticator.jaspic.AuthConfigFactoryImpl$RegistrationContextImpl.appContext:Ljava/lang/String;
         4: .line 414
            aload 0 /* this */
            aload 3 /* description */
            putfield org.apache.catalina.authenticator.jaspic.AuthConfigFactoryImpl$RegistrationContextImpl.description:Ljava/lang/String;
         5: .line 415
            aload 0 /* this */
            iload 4 /* persistent */
            putfield org.apache.catalina.authenticator.jaspic.AuthConfigFactoryImpl$RegistrationContextImpl.persistent:Z
         6: .line 416
            aload 0 /* this */
            aload 5 /* provider */
            putfield org.apache.catalina.authenticator.jaspic.AuthConfigFactoryImpl$RegistrationContextImpl.provider:Ljakarta/security/auth/message/config/AuthConfigProvider;
         7: .line 417
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            astore 7 /* propertiesCopy */
        start local 7 // java.util.Map propertiesCopy
         8: .line 418
            aload 6 /* properties */
            ifnull 10
         9: .line 419
            aload 7 /* propertiesCopy */
            aload 6 /* properties */
            invokeinterface java.util.Map.putAll:(Ljava/util/Map;)V
        10: .line 421
      StackMap locals: org.apache.catalina.authenticator.jaspic.AuthConfigFactoryImpl$RegistrationContextImpl java.lang.String java.lang.String java.lang.String int jakarta.security.auth.message.config.AuthConfigProvider java.util.Map java.util.Map
      StackMap stack:
            aload 0 /* this */
            aload 7 /* propertiesCopy */
            invokestatic java.util.Collections.unmodifiableMap:(Ljava/util/Map;)Ljava/util/Map;
            putfield org.apache.catalina.authenticator.jaspic.AuthConfigFactoryImpl$RegistrationContextImpl.properties:Ljava/util/Map;
        11: .line 422
            return
        end local 7 // java.util.Map propertiesCopy
        end local 6 // java.util.Map properties
        end local 5 // jakarta.security.auth.message.config.AuthConfigProvider provider
        end local 4 // boolean persistent
        end local 3 // java.lang.String description
        end local 2 // java.lang.String appContext
        end local 1 // java.lang.String messageLayer
        end local 0 // org.apache.catalina.authenticator.jaspic.AuthConfigFactoryImpl$RegistrationContextImpl this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   12     0            this  Lorg/apache/catalina/authenticator/jaspic/AuthConfigFactoryImpl$RegistrationContextImpl;
            0   12     1    messageLayer  Ljava/lang/String;
            0   12     2      appContext  Ljava/lang/String;
            0   12     3     description  Ljava/lang/String;
            0   12     4      persistent  Z
            0   12     5        provider  Ljakarta/security/auth/message/config/AuthConfigProvider;
            0   12     6      properties  Ljava/util/Map<Ljava/lang/String;Ljava/lang/String;>;
            8   12     7  propertiesCopy  Ljava/util/Map<Ljava/lang/String;Ljava/lang/String;>;
    Signature: (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;ZLjakarta/security/auth/message/config/AuthConfigProvider;Ljava/util/Map<Ljava/lang/String;Ljava/lang/String;>;)V
    MethodParameters:
              Name  Flags
      messageLayer  
      appContext    
      description   
      persistent    
      provider      
      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.AuthConfigFactoryImpl$RegistrationContextImpl this
         0: .line 434
            aload 0 /* this */
            getfield org.apache.catalina.authenticator.jaspic.AuthConfigFactoryImpl$RegistrationContextImpl.messageLayer:Ljava/lang/String;
            areturn
        end local 0 // org.apache.catalina.authenticator.jaspic.AuthConfigFactoryImpl$RegistrationContextImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/catalina/authenticator/jaspic/AuthConfigFactoryImpl$RegistrationContextImpl;

  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.AuthConfigFactoryImpl$RegistrationContextImpl this
         0: .line 440
            aload 0 /* this */
            getfield org.apache.catalina.authenticator.jaspic.AuthConfigFactoryImpl$RegistrationContextImpl.appContext:Ljava/lang/String;
            areturn
        end local 0 // org.apache.catalina.authenticator.jaspic.AuthConfigFactoryImpl$RegistrationContextImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/catalina/authenticator/jaspic/AuthConfigFactoryImpl$RegistrationContextImpl;

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

  public boolean isPersistent();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.apache.catalina.authenticator.jaspic.AuthConfigFactoryImpl$RegistrationContextImpl this
         0: .line 451
            aload 0 /* this */
            getfield org.apache.catalina.authenticator.jaspic.AuthConfigFactoryImpl$RegistrationContextImpl.persistent:Z
            ireturn
        end local 0 // org.apache.catalina.authenticator.jaspic.AuthConfigFactoryImpl$RegistrationContextImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/catalina/authenticator/jaspic/AuthConfigFactoryImpl$RegistrationContextImpl;

  private jakarta.security.auth.message.config.AuthConfigProvider getProvider();
    descriptor: ()Ljakarta/security/auth/message/config/AuthConfigProvider;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.apache.catalina.authenticator.jaspic.AuthConfigFactoryImpl$RegistrationContextImpl this
         0: .line 456
            aload 0 /* this */
            getfield org.apache.catalina.authenticator.jaspic.AuthConfigFactoryImpl$RegistrationContextImpl.provider:Ljakarta/security/auth/message/config/AuthConfigProvider;
            areturn
        end local 0 // org.apache.catalina.authenticator.jaspic.AuthConfigFactoryImpl$RegistrationContextImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/catalina/authenticator/jaspic/AuthConfigFactoryImpl$RegistrationContextImpl;

  private void addListener(org.apache.catalina.authenticator.jaspic.AuthConfigFactoryImpl$RegistrationListenerWrapper);
    descriptor: (Lorg/apache/catalina/authenticator/jaspic/AuthConfigFactoryImpl$RegistrationListenerWrapper;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.apache.catalina.authenticator.jaspic.AuthConfigFactoryImpl$RegistrationContextImpl this
        start local 1 // org.apache.catalina.authenticator.jaspic.AuthConfigFactoryImpl$RegistrationListenerWrapper listener
         0: .line 461
            aload 1 /* listener */
            ifnull 2
         1: .line 462
            aload 0 /* this */
            getfield org.apache.catalina.authenticator.jaspic.AuthConfigFactoryImpl$RegistrationContextImpl.listeners:Ljava/util/List;
            aload 1 /* listener */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
         2: .line 464
      StackMap locals:
      StackMap stack:
            return
        end local 1 // org.apache.catalina.authenticator.jaspic.AuthConfigFactoryImpl$RegistrationListenerWrapper listener
        end local 0 // org.apache.catalina.authenticator.jaspic.AuthConfigFactoryImpl$RegistrationContextImpl this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    3     0      this  Lorg/apache/catalina/authenticator/jaspic/AuthConfigFactoryImpl$RegistrationContextImpl;
            0    3     1  listener  Lorg/apache/catalina/authenticator/jaspic/AuthConfigFactoryImpl$RegistrationListenerWrapper;
    MethodParameters:
          Name  Flags
      listener  

  private java.util.Map<java.lang.String, java.lang.String> getProperties();
    descriptor: ()Ljava/util/Map;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.apache.catalina.authenticator.jaspic.AuthConfigFactoryImpl$RegistrationContextImpl this
         0: .line 468
            aload 0 /* this */
            getfield org.apache.catalina.authenticator.jaspic.AuthConfigFactoryImpl$RegistrationContextImpl.properties:Ljava/util/Map;
            areturn
        end local 0 // org.apache.catalina.authenticator.jaspic.AuthConfigFactoryImpl$RegistrationContextImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/catalina/authenticator/jaspic/AuthConfigFactoryImpl$RegistrationContextImpl;
    Signature: ()Ljava/util/Map<Ljava/lang/String;Ljava/lang/String;>;

  private boolean removeListener(jakarta.security.auth.message.config.RegistrationListener);
    descriptor: (Ljakarta/security/auth/message/config/RegistrationListener;)Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=5, args_size=2
        start local 0 // org.apache.catalina.authenticator.jaspic.AuthConfigFactoryImpl$RegistrationContextImpl this
        start local 1 // jakarta.security.auth.message.config.RegistrationListener listener
         0: .line 473
            iconst_0
            istore 2 /* result */
        start local 2 // boolean result
         1: .line 474
            aload 0 /* this */
            getfield org.apache.catalina.authenticator.jaspic.AuthConfigFactoryImpl$RegistrationContextImpl.listeners:Ljava/util/List;
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 4
            goto 6
      StackMap locals: org.apache.catalina.authenticator.jaspic.AuthConfigFactoryImpl$RegistrationContextImpl jakarta.security.auth.message.config.RegistrationListener int top java.util.Iterator
      StackMap stack:
         2: aload 4
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.apache.catalina.authenticator.jaspic.AuthConfigFactoryImpl$RegistrationListenerWrapper
            astore 3 /* wrapper */
        start local 3 // org.apache.catalina.authenticator.jaspic.AuthConfigFactoryImpl$RegistrationListenerWrapper wrapper
         3: .line 475
            aload 3 /* wrapper */
            invokevirtual org.apache.catalina.authenticator.jaspic.AuthConfigFactoryImpl$RegistrationListenerWrapper.getListener:()Ljakarta/security/auth/message/config/RegistrationListener;
            aload 1 /* listener */
            invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
            ifeq 6
         4: .line 476
            aload 0 /* this */
            getfield org.apache.catalina.authenticator.jaspic.AuthConfigFactoryImpl$RegistrationContextImpl.listeners:Ljava/util/List;
            aload 3 /* wrapper */
            invokeinterface java.util.List.remove:(Ljava/lang/Object;)Z
            pop
         5: .line 477
            iconst_1
            istore 2 /* result */
        end local 3 // org.apache.catalina.authenticator.jaspic.AuthConfigFactoryImpl$RegistrationListenerWrapper wrapper
         6: .line 474
      StackMap locals:
      StackMap stack:
            aload 4
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 2
         7: .line 480
            iload 2 /* result */
            ireturn
        end local 2 // boolean result
        end local 1 // jakarta.security.auth.message.config.RegistrationListener listener
        end local 0 // org.apache.catalina.authenticator.jaspic.AuthConfigFactoryImpl$RegistrationContextImpl this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    8     0      this  Lorg/apache/catalina/authenticator/jaspic/AuthConfigFactoryImpl$RegistrationContextImpl;
            0    8     1  listener  Ljakarta/security/auth/message/config/RegistrationListener;
            1    8     2    result  Z
            3    6     3   wrapper  Lorg/apache/catalina/authenticator/jaspic/AuthConfigFactoryImpl$RegistrationListenerWrapper;
    MethodParameters:
          Name  Flags
      listener  
}
SourceFile: "AuthConfigFactoryImpl.java"
NestHost: org.apache.catalina.authenticator.jaspic.AuthConfigFactoryImpl
InnerClasses:
  public abstract RegistrationContext = jakarta.security.auth.message.config.AuthConfigFactory$RegistrationContext of jakarta.security.auth.message.config.AuthConfigFactory
  private RegistrationContextImpl = org.apache.catalina.authenticator.jaspic.AuthConfigFactoryImpl$RegistrationContextImpl of org.apache.catalina.authenticator.jaspic.AuthConfigFactoryImpl
  private RegistrationListenerWrapper = org.apache.catalina.authenticator.jaspic.AuthConfigFactoryImpl$RegistrationListenerWrapper of org.apache.catalina.authenticator.jaspic.AuthConfigFactoryImpl