public class ch.qos.logback.classic.jmx.MBeanUtil
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: ch.qos.logback.classic.jmx.MBeanUtil
  super_class: java.lang.Object
{
  static final java.lang.String DOMAIN;
    descriptor: Ljava/lang/String;
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    ConstantValue: "ch.qos.logback.classic"

  public void <init>();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // ch.qos.logback.classic.jmx.MBeanUtil this
         0: .line 26
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
            return
        end local 0 // ch.qos.logback.classic.jmx.MBeanUtil this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lch/qos/logback/classic/jmx/MBeanUtil;

  public static java.lang.String getObjectNameFor(java.lang.String, java.lang.Class);
    descriptor: (Ljava/lang/String;Ljava/lang/Class;)Ljava/lang/String;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // java.lang.String contextName
        start local 1 // java.lang.Class type
         0: .line 31
            new java.lang.StringBuilder
            dup
            ldc "ch.qos.logback.classic:Name="
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* contextName */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc ",Type="
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 1 /* type */
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        end local 1 // java.lang.Class type
        end local 0 // java.lang.String contextName
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    1     0  contextName  Ljava/lang/String;
            0    1     1         type  Ljava/lang/Class;
    MethodParameters:
             Name  Flags
      contextName  
      type         

  public static javax.management.ObjectName string2ObjectName(ch.qos.logback.core.Context, java.lang.Object, java.lang.String);
    descriptor: (Lch/qos/logback/core/Context;Ljava/lang/Object;Ljava/lang/String;)Ljavax/management/ObjectName;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=6, args_size=3
        start local 0 // ch.qos.logback.core.Context context
        start local 1 // java.lang.Object caller
        start local 2 // java.lang.String objectNameAsStr
         0: .line 35
            new java.lang.StringBuilder
            dup
            ldc "Failed to convert ["
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 2 /* objectNameAsStr */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "] to ObjectName"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 3 /* msg */
        start local 3 // java.lang.String msg
         1: .line 37
            new ch.qos.logback.core.status.StatusUtil
            dup
            aload 0 /* context */
            invokespecial ch.qos.logback.core.status.StatusUtil.<init>:(Lch/qos/logback/core/Context;)V
            astore 4 /* statusUtil */
        start local 4 // ch.qos.logback.core.status.StatusUtil statusUtil
         2: .line 39
            new javax.management.ObjectName
            dup
            aload 2 /* objectNameAsStr */
            invokespecial javax.management.ObjectName.<init>:(Ljava/lang/String;)V
         3: areturn
         4: .line 40
      StackMap locals: ch.qos.logback.core.Context java.lang.Object java.lang.String java.lang.String ch.qos.logback.core.status.StatusUtil
      StackMap stack: javax.management.MalformedObjectNameException
            astore 5 /* e */
        start local 5 // javax.management.MalformedObjectNameException e
         5: .line 41
            aload 4 /* statusUtil */
            aload 1 /* caller */
            aload 3 /* msg */
            aload 5 /* e */
            invokevirtual ch.qos.logback.core.status.StatusUtil.addError:(Ljava/lang/Object;Ljava/lang/String;Ljava/lang/Throwable;)V
         6: .line 42
            aconst_null
            areturn
        end local 5 // javax.management.MalformedObjectNameException e
         7: .line 43
      StackMap locals:
      StackMap stack: java.lang.NullPointerException
            astore 5 /* e */
        start local 5 // java.lang.NullPointerException e
         8: .line 44
            aload 4 /* statusUtil */
            aload 1 /* caller */
            aload 3 /* msg */
            aload 5 /* e */
            invokevirtual ch.qos.logback.core.status.StatusUtil.addError:(Ljava/lang/Object;Ljava/lang/String;Ljava/lang/Throwable;)V
         9: .line 45
            aconst_null
            areturn
        end local 5 // java.lang.NullPointerException e
        end local 4 // ch.qos.logback.core.status.StatusUtil statusUtil
        end local 3 // java.lang.String msg
        end local 2 // java.lang.String objectNameAsStr
        end local 1 // java.lang.Object caller
        end local 0 // ch.qos.logback.core.Context context
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0   10     0          context  Lch/qos/logback/core/Context;
            0   10     1           caller  Ljava/lang/Object;
            0   10     2  objectNameAsStr  Ljava/lang/String;
            1   10     3              msg  Ljava/lang/String;
            2   10     4       statusUtil  Lch/qos/logback/core/status/StatusUtil;
            5    7     5                e  Ljavax/management/MalformedObjectNameException;
            8   10     5                e  Ljava/lang/NullPointerException;
      Exception table:
        from    to  target  type
           2     3       4  Class javax.management.MalformedObjectNameException
           2     3       7  Class java.lang.NullPointerException
    MethodParameters:
                 Name  Flags
      context          
      caller           
      objectNameAsStr  

  public static boolean isRegistered(javax.management.MBeanServer, javax.management.ObjectName);
    descriptor: (Ljavax/management/MBeanServer;Ljavax/management/ObjectName;)Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // javax.management.MBeanServer mbs
        start local 1 // javax.management.ObjectName objectName
         0: .line 50
            aload 0 /* mbs */
            aload 1 /* objectName */
            invokeinterface javax.management.MBeanServer.isRegistered:(Ljavax/management/ObjectName;)Z
            ireturn
        end local 1 // javax.management.ObjectName objectName
        end local 0 // javax.management.MBeanServer mbs
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    1     0         mbs  Ljavax/management/MBeanServer;
            0    1     1  objectName  Ljavax/management/ObjectName;
    MethodParameters:
            Name  Flags
      mbs         
      objectName  

  public static void createAndRegisterJMXConfigurator(javax.management.MBeanServer, ch.qos.logback.classic.LoggerContext, ch.qos.logback.classic.jmx.JMXConfigurator, javax.management.ObjectName, java.lang.Object);
    descriptor: (Ljavax/management/MBeanServer;Lch/qos/logback/classic/LoggerContext;Lch/qos/logback/classic/jmx/JMXConfigurator;Ljavax/management/ObjectName;Ljava/lang/Object;)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=7, args_size=5
        start local 0 // javax.management.MBeanServer mbs
        start local 1 // ch.qos.logback.classic.LoggerContext loggerContext
        start local 2 // ch.qos.logback.classic.jmx.JMXConfigurator jmxConfigurator
        start local 3 // javax.management.ObjectName objectName
        start local 4 // java.lang.Object caller
         0: .line 56
            aload 0 /* mbs */
            aload 2 /* jmxConfigurator */
            aload 3 /* objectName */
            invokeinterface javax.management.MBeanServer.registerMBean:(Ljava/lang/Object;Ljavax/management/ObjectName;)Ljavax/management/ObjectInstance;
            pop
         1: .line 57
            goto 5
      StackMap locals:
      StackMap stack: java.lang.Exception
         2: astore 5 /* e */
        start local 5 // java.lang.Exception e
         3: .line 58
            new ch.qos.logback.core.status.StatusUtil
            dup
            aload 1 /* loggerContext */
            invokespecial ch.qos.logback.core.status.StatusUtil.<init>:(Lch/qos/logback/core/Context;)V
            astore 6 /* statusUtil */
        start local 6 // ch.qos.logback.core.status.StatusUtil statusUtil
         4: .line 59
            aload 6 /* statusUtil */
            aload 4 /* caller */
            ldc "Failed to create mbean"
            aload 5 /* e */
            invokevirtual ch.qos.logback.core.status.StatusUtil.addError:(Ljava/lang/Object;Ljava/lang/String;Ljava/lang/Throwable;)V
        end local 6 // ch.qos.logback.core.status.StatusUtil statusUtil
        end local 5 // java.lang.Exception e
         5: .line 61
      StackMap locals:
      StackMap stack:
            return
        end local 4 // java.lang.Object caller
        end local 3 // javax.management.ObjectName objectName
        end local 2 // ch.qos.logback.classic.jmx.JMXConfigurator jmxConfigurator
        end local 1 // ch.qos.logback.classic.LoggerContext loggerContext
        end local 0 // javax.management.MBeanServer mbs
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0    6     0              mbs  Ljavax/management/MBeanServer;
            0    6     1    loggerContext  Lch/qos/logback/classic/LoggerContext;
            0    6     2  jmxConfigurator  Lch/qos/logback/classic/jmx/JMXConfigurator;
            0    6     3       objectName  Ljavax/management/ObjectName;
            0    6     4           caller  Ljava/lang/Object;
            3    5     5                e  Ljava/lang/Exception;
            4    5     6       statusUtil  Lch/qos/logback/core/status/StatusUtil;
      Exception table:
        from    to  target  type
           0     1       2  Class java.lang.Exception
    MethodParameters:
                 Name  Flags
      mbs              
      loggerContext    
      jmxConfigurator  
      objectName       
      caller           

  public static void unregister(ch.qos.logback.classic.LoggerContext, javax.management.MBeanServer, javax.management.ObjectName, java.lang.Object);
    descriptor: (Lch/qos/logback/classic/LoggerContext;Ljavax/management/MBeanServer;Ljavax/management/ObjectName;Ljava/lang/Object;)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=6, args_size=4
        start local 0 // ch.qos.logback.classic.LoggerContext loggerContext
        start local 1 // javax.management.MBeanServer mbs
        start local 2 // javax.management.ObjectName objectName
        start local 3 // java.lang.Object caller
         0: .line 65
            new ch.qos.logback.core.status.StatusUtil
            dup
            aload 0 /* loggerContext */
            invokespecial ch.qos.logback.core.status.StatusUtil.<init>:(Lch/qos/logback/core/Context;)V
            astore 4 /* statusUtil */
        start local 4 // ch.qos.logback.core.status.StatusUtil statusUtil
         1: .line 66
            aload 1 /* mbs */
            aload 2 /* objectName */
            invokeinterface javax.management.MBeanServer.isRegistered:(Ljavax/management/ObjectName;)Z
            ifeq 11
         2: .line 68
            aload 4 /* statusUtil */
            aload 3 /* caller */
            new java.lang.StringBuilder
            dup
            ldc "Unregistering mbean ["
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 2 /* objectName */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            ldc "]"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual ch.qos.logback.core.status.StatusUtil.addInfo:(Ljava/lang/Object;Ljava/lang/String;)V
         3: .line 69
            aload 1 /* mbs */
            aload 2 /* objectName */
            invokeinterface javax.management.MBeanServer.unregisterMBean:(Ljavax/management/ObjectName;)V
         4: .line 70
            goto 12
      StackMap locals: ch.qos.logback.classic.LoggerContext javax.management.MBeanServer javax.management.ObjectName java.lang.Object ch.qos.logback.core.status.StatusUtil
      StackMap stack: javax.management.InstanceNotFoundException
         5: astore 5 /* e */
        start local 5 // javax.management.InstanceNotFoundException e
         6: .line 72
            aload 4 /* statusUtil */
            aload 3 /* caller */
            new java.lang.StringBuilder
            dup
            ldc "Failed to unregister mbean"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 2 /* objectName */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            aload 5 /* e */
            invokevirtual ch.qos.logback.core.status.StatusUtil.addError:(Ljava/lang/Object;Ljava/lang/String;Ljava/lang/Throwable;)V
        end local 5 // javax.management.InstanceNotFoundException e
         7: goto 12
         8: .line 73
      StackMap locals:
      StackMap stack: javax.management.MBeanRegistrationException
            astore 5 /* e */
        start local 5 // javax.management.MBeanRegistrationException e
         9: .line 75
            aload 4 /* statusUtil */
            aload 3 /* caller */
            new java.lang.StringBuilder
            dup
            ldc "Failed to unregister mbean"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 2 /* objectName */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            aload 5 /* e */
            invokevirtual ch.qos.logback.core.status.StatusUtil.addError:(Ljava/lang/Object;Ljava/lang/String;Ljava/lang/Throwable;)V
        end local 5 // javax.management.MBeanRegistrationException e
        10: .line 77
            goto 12
        11: .line 78
      StackMap locals:
      StackMap stack:
            aload 4 /* statusUtil */
            aload 3 /* caller */
            new java.lang.StringBuilder
            dup
            ldc "mbean ["
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 2 /* objectName */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            ldc "] does not seem to be registered"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual ch.qos.logback.core.status.StatusUtil.addInfo:(Ljava/lang/Object;Ljava/lang/String;)V
        12: .line 80
      StackMap locals:
      StackMap stack:
            return
        end local 4 // ch.qos.logback.core.status.StatusUtil statusUtil
        end local 3 // java.lang.Object caller
        end local 2 // javax.management.ObjectName objectName
        end local 1 // javax.management.MBeanServer mbs
        end local 0 // ch.qos.logback.classic.LoggerContext loggerContext
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   13     0  loggerContext  Lch/qos/logback/classic/LoggerContext;
            0   13     1            mbs  Ljavax/management/MBeanServer;
            0   13     2     objectName  Ljavax/management/ObjectName;
            0   13     3         caller  Ljava/lang/Object;
            1   13     4     statusUtil  Lch/qos/logback/core/status/StatusUtil;
            6    7     5              e  Ljavax/management/InstanceNotFoundException;
            9   10     5              e  Ljavax/management/MBeanRegistrationException;
      Exception table:
        from    to  target  type
           2     4       5  Class javax.management.InstanceNotFoundException
           2     4       8  Class javax.management.MBeanRegistrationException
    MethodParameters:
               Name  Flags
      loggerContext  
      mbs            
      objectName     
      caller         
}
SourceFile: "MBeanUtil.java"