public abstract class org.springframework.jmx.export.assembler.AbstractMBeanInfoAssembler implements org.springframework.jmx.export.assembler.MBeanInfoAssembler
  minor version: 0
  major version: 59
  flags: flags: (0x0421) ACC_PUBLIC, ACC_SUPER, ACC_ABSTRACT
  this_class: org.springframework.jmx.export.assembler.AbstractMBeanInfoAssembler
  super_class: java.lang.Object
{
  public void <init>();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.springframework.jmx.export.assembler.AbstractMBeanInfoAssembler this
         0: .line 46
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
            return
        end local 0 // org.springframework.jmx.export.assembler.AbstractMBeanInfoAssembler this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/springframework/jmx/export/assembler/AbstractMBeanInfoAssembler;

  public javax.management.modelmbean.ModelMBeanInfo getMBeanInfo(java.lang.Object, java.lang.String);
    descriptor: (Ljava/lang/Object;Ljava/lang/String;)Ljavax/management/modelmbean/ModelMBeanInfo;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=10, locals=5, args_size=3
        start local 0 // org.springframework.jmx.export.assembler.AbstractMBeanInfoAssembler this
        start local 1 // java.lang.Object managedBean
        start local 2 // java.lang.String beanKey
         0: .line 64
            aload 0 /* this */
            aload 1 /* managedBean */
            invokevirtual org.springframework.jmx.export.assembler.AbstractMBeanInfoAssembler.checkManagedBean:(Ljava/lang/Object;)V
         1: .line 65
            new javax.management.modelmbean.ModelMBeanInfoSupport
            dup
         2: .line 66
            aload 0 /* this */
            aload 1 /* managedBean */
            aload 2 /* beanKey */
            invokevirtual org.springframework.jmx.export.assembler.AbstractMBeanInfoAssembler.getClassName:(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/String;
            aload 0 /* this */
            aload 1 /* managedBean */
            aload 2 /* beanKey */
            invokevirtual org.springframework.jmx.export.assembler.AbstractMBeanInfoAssembler.getDescription:(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/String;
         3: .line 67
            aload 0 /* this */
            aload 1 /* managedBean */
            aload 2 /* beanKey */
            invokevirtual org.springframework.jmx.export.assembler.AbstractMBeanInfoAssembler.getAttributeInfo:(Ljava/lang/Object;Ljava/lang/String;)[Ljavax/management/modelmbean/ModelMBeanAttributeInfo;
            aload 0 /* this */
            aload 1 /* managedBean */
            aload 2 /* beanKey */
            invokevirtual org.springframework.jmx.export.assembler.AbstractMBeanInfoAssembler.getConstructorInfo:(Ljava/lang/Object;Ljava/lang/String;)[Ljavax/management/modelmbean/ModelMBeanConstructorInfo;
         4: .line 68
            aload 0 /* this */
            aload 1 /* managedBean */
            aload 2 /* beanKey */
            invokevirtual org.springframework.jmx.export.assembler.AbstractMBeanInfoAssembler.getOperationInfo:(Ljava/lang/Object;Ljava/lang/String;)[Ljavax/management/modelmbean/ModelMBeanOperationInfo;
            aload 0 /* this */
            aload 1 /* managedBean */
            aload 2 /* beanKey */
            invokevirtual org.springframework.jmx.export.assembler.AbstractMBeanInfoAssembler.getNotificationInfo:(Ljava/lang/Object;Ljava/lang/String;)[Ljavax/management/modelmbean/ModelMBeanNotificationInfo;
         5: .line 65
            invokespecial javax.management.modelmbean.ModelMBeanInfoSupport.<init>:(Ljava/lang/String;Ljava/lang/String;[Ljavax/management/modelmbean/ModelMBeanAttributeInfo;[Ljavax/management/modelmbean/ModelMBeanConstructorInfo;[Ljavax/management/modelmbean/ModelMBeanOperationInfo;[Ljavax/management/modelmbean/ModelMBeanNotificationInfo;)V
            astore 3 /* info */
        start local 3 // javax.management.modelmbean.ModelMBeanInfo info
         6: .line 69
            aload 3 /* info */
            invokeinterface javax.management.modelmbean.ModelMBeanInfo.getMBeanDescriptor:()Ljavax/management/Descriptor;
            astore 4 /* desc */
        start local 4 // javax.management.Descriptor desc
         7: .line 70
            aload 0 /* this */
            aload 4 /* desc */
            aload 1 /* managedBean */
            aload 2 /* beanKey */
            invokevirtual org.springframework.jmx.export.assembler.AbstractMBeanInfoAssembler.populateMBeanDescriptor:(Ljavax/management/Descriptor;Ljava/lang/Object;Ljava/lang/String;)V
         8: .line 71
            aload 3 /* info */
            aload 4 /* desc */
            invokeinterface javax.management.modelmbean.ModelMBeanInfo.setMBeanDescriptor:(Ljavax/management/Descriptor;)V
         9: .line 72
            aload 3 /* info */
            areturn
        end local 4 // javax.management.Descriptor desc
        end local 3 // javax.management.modelmbean.ModelMBeanInfo info
        end local 2 // java.lang.String beanKey
        end local 1 // java.lang.Object managedBean
        end local 0 // org.springframework.jmx.export.assembler.AbstractMBeanInfoAssembler this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   10     0         this  Lorg/springframework/jmx/export/assembler/AbstractMBeanInfoAssembler;
            0   10     1  managedBean  Ljava/lang/Object;
            0   10     2      beanKey  Ljava/lang/String;
            6   10     3         info  Ljavax/management/modelmbean/ModelMBeanInfo;
            7   10     4         desc  Ljavax/management/Descriptor;
    Exceptions:
      throws javax.management.JMException
    MethodParameters:
             Name  Flags
      managedBean  
      beanKey      

  protected void checkManagedBean(java.lang.Object);
    descriptor: (Ljava/lang/Object;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=0, locals=2, args_size=2
        start local 0 // org.springframework.jmx.export.assembler.AbstractMBeanInfoAssembler this
        start local 1 // java.lang.Object managedBean
         0: .line 83
            return
        end local 1 // java.lang.Object managedBean
        end local 0 // org.springframework.jmx.export.assembler.AbstractMBeanInfoAssembler this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    1     0         this  Lorg/springframework/jmx/export/assembler/AbstractMBeanInfoAssembler;
            0    1     1  managedBean  Ljava/lang/Object;
    Exceptions:
      throws java.lang.IllegalArgumentException
    MethodParameters:
             Name  Flags
      managedBean  

  protected java.lang.Class<?> getTargetClass();
    descriptor: (Ljava/lang/Object;)Ljava/lang/Class;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=1, locals=2, args_size=2
        start local 0 // org.springframework.jmx.export.assembler.AbstractMBeanInfoAssembler this
        start local 1 // java.lang.Object managedBean
         0: .line 95
            aload 1 /* managedBean */
            invokestatic org.springframework.aop.support.AopUtils.getTargetClass:(Ljava/lang/Object;)Ljava/lang/Class;
            areturn
        end local 1 // java.lang.Object managedBean
        end local 0 // org.springframework.jmx.export.assembler.AbstractMBeanInfoAssembler this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    1     0         this  Lorg/springframework/jmx/export/assembler/AbstractMBeanInfoAssembler;
            0    1     1  managedBean  Ljava/lang/Object;
    Signature: (Ljava/lang/Object;)Ljava/lang/Class<*>;
    MethodParameters:
             Name  Flags
      managedBean  

  protected java.lang.Class<?> getClassToExpose();
    descriptor: (Ljava/lang/Object;)Ljava/lang/Class;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=1, locals=2, args_size=2
        start local 0 // org.springframework.jmx.export.assembler.AbstractMBeanInfoAssembler this
        start local 1 // java.lang.Object managedBean
         0: .line 107
            aload 1 /* managedBean */
            invokestatic org.springframework.jmx.support.JmxUtils.getClassToExpose:(Ljava/lang/Object;)Ljava/lang/Class;
            areturn
        end local 1 // java.lang.Object managedBean
        end local 0 // org.springframework.jmx.export.assembler.AbstractMBeanInfoAssembler this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    1     0         this  Lorg/springframework/jmx/export/assembler/AbstractMBeanInfoAssembler;
            0    1     1  managedBean  Ljava/lang/Object;
    Signature: (Ljava/lang/Object;)Ljava/lang/Class<*>;
    MethodParameters:
             Name  Flags
      managedBean  

  protected java.lang.Class<?> getClassToExpose(java.lang.Class<?>);
    descriptor: (Ljava/lang/Class;)Ljava/lang/Class;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=1, locals=2, args_size=2
        start local 0 // org.springframework.jmx.export.assembler.AbstractMBeanInfoAssembler this
        start local 1 // java.lang.Class beanClass
         0: .line 118
            aload 1 /* beanClass */
            invokestatic org.springframework.jmx.support.JmxUtils.getClassToExpose:(Ljava/lang/Class;)Ljava/lang/Class;
            areturn
        end local 1 // java.lang.Class beanClass
        end local 0 // org.springframework.jmx.export.assembler.AbstractMBeanInfoAssembler this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    1     0       this  Lorg/springframework/jmx/export/assembler/AbstractMBeanInfoAssembler;
            0    1     1  beanClass  Ljava/lang/Class<*>;
    Signature: (Ljava/lang/Class<*>;)Ljava/lang/Class<*>;
    MethodParameters:
           Name  Flags
      beanClass  

  protected java.lang.String getClassName(java.lang.Object, java.lang.String);
    descriptor: (Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/String;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // org.springframework.jmx.export.assembler.AbstractMBeanInfoAssembler this
        start local 1 // java.lang.Object managedBean
        start local 2 // java.lang.String beanKey
         0: .line 132
            aload 0 /* this */
            aload 1 /* managedBean */
            invokevirtual org.springframework.jmx.export.assembler.AbstractMBeanInfoAssembler.getTargetClass:(Ljava/lang/Object;)Ljava/lang/Class;
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            areturn
        end local 2 // java.lang.String beanKey
        end local 1 // java.lang.Object managedBean
        end local 0 // org.springframework.jmx.export.assembler.AbstractMBeanInfoAssembler this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    1     0         this  Lorg/springframework/jmx/export/assembler/AbstractMBeanInfoAssembler;
            0    1     1  managedBean  Ljava/lang/Object;
            0    1     2      beanKey  Ljava/lang/String;
    Exceptions:
      throws javax.management.JMException
    MethodParameters:
             Name  Flags
      managedBean  
      beanKey      

  protected java.lang.String getDescription(java.lang.Object, java.lang.String);
    descriptor: (Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/String;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=3, locals=4, args_size=3
        start local 0 // org.springframework.jmx.export.assembler.AbstractMBeanInfoAssembler this
        start local 1 // java.lang.Object managedBean
        start local 2 // java.lang.String beanKey
         0: .line 145
            aload 0 /* this */
            aload 1 /* managedBean */
            invokevirtual org.springframework.jmx.export.assembler.AbstractMBeanInfoAssembler.getTargetClass:(Ljava/lang/Object;)Ljava/lang/Class;
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            astore 3 /* targetClassName */
        start local 3 // java.lang.String targetClassName
         1: .line 146
            aload 1 /* managedBean */
            invokestatic org.springframework.aop.support.AopUtils.isAopProxy:(Ljava/lang/Object;)Z
            ifeq 3
         2: .line 147
            new java.lang.StringBuilder
            dup
            ldc "Proxy for "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 3 /* targetClassName */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
         3: .line 149
      StackMap locals: java.lang.String
      StackMap stack:
            aload 3 /* targetClassName */
            areturn
        end local 3 // java.lang.String targetClassName
        end local 2 // java.lang.String beanKey
        end local 1 // java.lang.Object managedBean
        end local 0 // org.springframework.jmx.export.assembler.AbstractMBeanInfoAssembler this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0    4     0             this  Lorg/springframework/jmx/export/assembler/AbstractMBeanInfoAssembler;
            0    4     1      managedBean  Ljava/lang/Object;
            0    4     2          beanKey  Ljava/lang/String;
            1    4     3  targetClassName  Ljava/lang/String;
    Exceptions:
      throws javax.management.JMException
    MethodParameters:
             Name  Flags
      managedBean  
      beanKey      

  protected void populateMBeanDescriptor(javax.management.Descriptor, java.lang.Object, java.lang.String);
    descriptor: (Ljavax/management/Descriptor;Ljava/lang/Object;Ljava/lang/String;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=0, locals=4, args_size=4
        start local 0 // org.springframework.jmx.export.assembler.AbstractMBeanInfoAssembler this
        start local 1 // javax.management.Descriptor descriptor
        start local 2 // java.lang.Object managedBean
        start local 3 // java.lang.String beanKey
         0: .line 165
            return
        end local 3 // java.lang.String beanKey
        end local 2 // java.lang.Object managedBean
        end local 1 // javax.management.Descriptor descriptor
        end local 0 // org.springframework.jmx.export.assembler.AbstractMBeanInfoAssembler this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    1     0         this  Lorg/springframework/jmx/export/assembler/AbstractMBeanInfoAssembler;
            0    1     1   descriptor  Ljavax/management/Descriptor;
            0    1     2  managedBean  Ljava/lang/Object;
            0    1     3      beanKey  Ljava/lang/String;
    Exceptions:
      throws javax.management.JMException
    MethodParameters:
             Name  Flags
      descriptor   
      managedBean  
      beanKey      

  protected javax.management.modelmbean.ModelMBeanConstructorInfo[] getConstructorInfo(java.lang.Object, java.lang.String);
    descriptor: (Ljava/lang/Object;Ljava/lang/String;)[Ljavax/management/modelmbean/ModelMBeanConstructorInfo;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=1, locals=3, args_size=3
        start local 0 // org.springframework.jmx.export.assembler.AbstractMBeanInfoAssembler this
        start local 1 // java.lang.Object managedBean
        start local 2 // java.lang.String beanKey
         0: .line 180
            iconst_0
            anewarray javax.management.modelmbean.ModelMBeanConstructorInfo
            areturn
        end local 2 // java.lang.String beanKey
        end local 1 // java.lang.Object managedBean
        end local 0 // org.springframework.jmx.export.assembler.AbstractMBeanInfoAssembler this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    1     0         this  Lorg/springframework/jmx/export/assembler/AbstractMBeanInfoAssembler;
            0    1     1  managedBean  Ljava/lang/Object;
            0    1     2      beanKey  Ljava/lang/String;
    Exceptions:
      throws javax.management.JMException
    MethodParameters:
             Name  Flags
      managedBean  
      beanKey      

  protected javax.management.modelmbean.ModelMBeanNotificationInfo[] getNotificationInfo(java.lang.Object, java.lang.String);
    descriptor: (Ljava/lang/Object;Ljava/lang/String;)[Ljavax/management/modelmbean/ModelMBeanNotificationInfo;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=1, locals=3, args_size=3
        start local 0 // org.springframework.jmx.export.assembler.AbstractMBeanInfoAssembler this
        start local 1 // java.lang.Object managedBean
        start local 2 // java.lang.String beanKey
         0: .line 196
            iconst_0
            anewarray javax.management.modelmbean.ModelMBeanNotificationInfo
            areturn
        end local 2 // java.lang.String beanKey
        end local 1 // java.lang.Object managedBean
        end local 0 // org.springframework.jmx.export.assembler.AbstractMBeanInfoAssembler this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    1     0         this  Lorg/springframework/jmx/export/assembler/AbstractMBeanInfoAssembler;
            0    1     1  managedBean  Ljava/lang/Object;
            0    1     2      beanKey  Ljava/lang/String;
    Exceptions:
      throws javax.management.JMException
    MethodParameters:
             Name  Flags
      managedBean  
      beanKey      

  protected abstract javax.management.modelmbean.ModelMBeanAttributeInfo[] getAttributeInfo(java.lang.Object, java.lang.String);
    descriptor: (Ljava/lang/Object;Ljava/lang/String;)[Ljavax/management/modelmbean/ModelMBeanAttributeInfo;
    flags: (0x0404) ACC_PROTECTED, ACC_ABSTRACT
    Exceptions:
      throws javax.management.JMException
    MethodParameters:
             Name  Flags
      managedBean  
      beanKey      

  protected abstract javax.management.modelmbean.ModelMBeanOperationInfo[] getOperationInfo(java.lang.Object, java.lang.String);
    descriptor: (Ljava/lang/Object;Ljava/lang/String;)[Ljavax/management/modelmbean/ModelMBeanOperationInfo;
    flags: (0x0404) ACC_PROTECTED, ACC_ABSTRACT
    Exceptions:
      throws javax.management.JMException
    MethodParameters:
             Name  Flags
      managedBean  
      beanKey      
}
SourceFile: "AbstractMBeanInfoAssembler.java"