class org.springframework.jndi.JndiObjectFactoryBean$JndiObjectProxyFactory
  minor version: 0
  major version: 59
  flags: flags: (0x0020) ACC_SUPER
  this_class: org.springframework.jndi.JndiObjectFactoryBean$JndiObjectProxyFactory
  super_class: java.lang.Object
{
  private void <init>();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.springframework.jndi.JndiObjectFactoryBean$JndiObjectProxyFactory this
         0: .line 316
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
            return
        end local 0 // org.springframework.jndi.JndiObjectFactoryBean$JndiObjectProxyFactory this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/springframework/jndi/JndiObjectFactoryBean$JndiObjectProxyFactory;

  private static java.lang.Object createJndiObjectProxy(org.springframework.jndi.JndiObjectFactoryBean);
    descriptor: (Lorg/springframework/jndi/JndiObjectFactoryBean;)Ljava/lang/Object;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=4, locals=10, args_size=1
        start local 0 // org.springframework.jndi.JndiObjectFactoryBean jof
         0: .line 320
            new org.springframework.jndi.JndiObjectTargetSource
            dup
            invokespecial org.springframework.jndi.JndiObjectTargetSource.<init>:()V
            astore 1 /* targetSource */
        start local 1 // org.springframework.jndi.JndiObjectTargetSource targetSource
         1: .line 321
            aload 1 /* targetSource */
            aload 0 /* jof */
            invokevirtual org.springframework.jndi.JndiObjectFactoryBean.getJndiTemplate:()Lorg/springframework/jndi/JndiTemplate;
            invokevirtual org.springframework.jndi.JndiObjectTargetSource.setJndiTemplate:(Lorg/springframework/jndi/JndiTemplate;)V
         2: .line 322
            aload 0 /* jof */
            invokevirtual org.springframework.jndi.JndiObjectFactoryBean.getJndiName:()Ljava/lang/String;
            astore 2 /* jndiName */
        start local 2 // java.lang.String jndiName
         3: .line 323
            aload 2 /* jndiName */
            ifnull 4
            iconst_1
            goto 5
      StackMap locals: org.springframework.jndi.JndiObjectTargetSource java.lang.String
      StackMap stack:
         4: iconst_0
      StackMap locals:
      StackMap stack: int
         5: ldc "No JNDI name specified"
            invokestatic org.springframework.util.Assert.state:(ZLjava/lang/String;)V
         6: .line 324
            aload 1 /* targetSource */
            aload 2 /* jndiName */
            invokevirtual org.springframework.jndi.JndiObjectTargetSource.setJndiName:(Ljava/lang/String;)V
         7: .line 325
            aload 1 /* targetSource */
            aload 0 /* jof */
            invokevirtual org.springframework.jndi.JndiObjectFactoryBean.getExpectedType:()Ljava/lang/Class;
            invokevirtual org.springframework.jndi.JndiObjectTargetSource.setExpectedType:(Ljava/lang/Class;)V
         8: .line 326
            aload 1 /* targetSource */
            aload 0 /* jof */
            invokevirtual org.springframework.jndi.JndiObjectFactoryBean.isResourceRef:()Z
            invokevirtual org.springframework.jndi.JndiObjectTargetSource.setResourceRef:(Z)V
         9: .line 327
            aload 1 /* targetSource */
            aload 0 /* jof */
            getfield org.springframework.jndi.JndiObjectFactoryBean.lookupOnStartup:Z
            invokevirtual org.springframework.jndi.JndiObjectTargetSource.setLookupOnStartup:(Z)V
        10: .line 328
            aload 1 /* targetSource */
            aload 0 /* jof */
            getfield org.springframework.jndi.JndiObjectFactoryBean.cache:Z
            invokevirtual org.springframework.jndi.JndiObjectTargetSource.setCache:(Z)V
        11: .line 329
            aload 1 /* targetSource */
            invokevirtual org.springframework.jndi.JndiObjectTargetSource.afterPropertiesSet:()V
        12: .line 332
            new org.springframework.aop.framework.ProxyFactory
            dup
            invokespecial org.springframework.aop.framework.ProxyFactory.<init>:()V
            astore 3 /* proxyFactory */
        start local 3 // org.springframework.aop.framework.ProxyFactory proxyFactory
        13: .line 333
            aload 0 /* jof */
            getfield org.springframework.jndi.JndiObjectFactoryBean.proxyInterfaces:[Ljava/lang/Class;
            ifnull 16
        14: .line 334
            aload 3 /* proxyFactory */
            aload 0 /* jof */
            getfield org.springframework.jndi.JndiObjectFactoryBean.proxyInterfaces:[Ljava/lang/Class;
            invokevirtual org.springframework.aop.framework.ProxyFactory.setInterfaces:([Ljava/lang/Class;)V
        15: .line 335
            goto 28
        16: .line 337
      StackMap locals: org.springframework.aop.framework.ProxyFactory
      StackMap stack:
            aload 1 /* targetSource */
            invokevirtual org.springframework.jndi.JndiObjectTargetSource.getTargetClass:()Ljava/lang/Class;
            astore 4 /* targetClass */
        start local 4 // java.lang.Class targetClass
        17: .line 338
            aload 4 /* targetClass */
            ifnonnull 21
        18: .line 339
            new java.lang.IllegalStateException
            dup
        19: .line 340
            ldc "Cannot deactivate 'lookupOnStartup' without specifying a 'proxyInterface' or 'expectedType'"
        20: .line 339
            invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
            athrow
        21: .line 342
      StackMap locals: java.lang.Class
      StackMap stack:
            aload 4 /* targetClass */
            aload 0 /* jof */
            getfield org.springframework.jndi.JndiObjectFactoryBean.beanClassLoader:Ljava/lang/ClassLoader;
            invokestatic org.springframework.util.ClassUtils.getAllInterfacesForClass:(Ljava/lang/Class;Ljava/lang/ClassLoader;)[Ljava/lang/Class;
            astore 5 /* ifcs */
        start local 5 // java.lang.Class[] ifcs
        22: .line 343
            aload 5 /* ifcs */
            dup
            astore 9
            arraylength
            istore 8
            iconst_0
            istore 7
            goto 27
      StackMap locals: org.springframework.jndi.JndiObjectFactoryBean org.springframework.jndi.JndiObjectTargetSource java.lang.String org.springframework.aop.framework.ProxyFactory java.lang.Class java.lang.Class[] top int int java.lang.Class[]
      StackMap stack:
        23: aload 9
            iload 7
            aaload
            astore 6 /* ifc */
        start local 6 // java.lang.Class ifc
        24: .line 344
            aload 6 /* ifc */
            invokevirtual java.lang.Class.getModifiers:()I
            invokestatic java.lang.reflect.Modifier.isPublic:(I)Z
            ifeq 26
        25: .line 345
            aload 3 /* proxyFactory */
            aload 6 /* ifc */
            invokevirtual org.springframework.aop.framework.ProxyFactory.addInterface:(Ljava/lang/Class;)V
        end local 6 // java.lang.Class ifc
        26: .line 343
      StackMap locals:
      StackMap stack:
            iinc 7 1
      StackMap locals:
      StackMap stack:
        27: iload 7
            iload 8
            if_icmplt 23
        end local 5 // java.lang.Class[] ifcs
        end local 4 // java.lang.Class targetClass
        28: .line 349
      StackMap locals: org.springframework.jndi.JndiObjectFactoryBean org.springframework.jndi.JndiObjectTargetSource java.lang.String org.springframework.aop.framework.ProxyFactory
      StackMap stack:
            aload 0 /* jof */
            getfield org.springframework.jndi.JndiObjectFactoryBean.exposeAccessContext:Z
            ifeq 30
        29: .line 350
            aload 3 /* proxyFactory */
            new org.springframework.jndi.JndiObjectFactoryBean$JndiContextExposingInterceptor
            dup
            aload 0 /* jof */
            invokevirtual org.springframework.jndi.JndiObjectFactoryBean.getJndiTemplate:()Lorg/springframework/jndi/JndiTemplate;
            invokespecial org.springframework.jndi.JndiObjectFactoryBean$JndiContextExposingInterceptor.<init>:(Lorg/springframework/jndi/JndiTemplate;)V
            invokevirtual org.springframework.aop.framework.ProxyFactory.addAdvice:(Lorg/aopalliance/aop/Advice;)V
        30: .line 352
      StackMap locals:
      StackMap stack:
            aload 3 /* proxyFactory */
            aload 1 /* targetSource */
            invokevirtual org.springframework.aop.framework.ProxyFactory.setTargetSource:(Lorg/springframework/aop/TargetSource;)V
        31: .line 353
            aload 3 /* proxyFactory */
            aload 0 /* jof */
            getfield org.springframework.jndi.JndiObjectFactoryBean.beanClassLoader:Ljava/lang/ClassLoader;
            invokevirtual org.springframework.aop.framework.ProxyFactory.getProxy:(Ljava/lang/ClassLoader;)Ljava/lang/Object;
            areturn
        end local 3 // org.springframework.aop.framework.ProxyFactory proxyFactory
        end local 2 // java.lang.String jndiName
        end local 1 // org.springframework.jndi.JndiObjectTargetSource targetSource
        end local 0 // org.springframework.jndi.JndiObjectFactoryBean jof
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   32     0           jof  Lorg/springframework/jndi/JndiObjectFactoryBean;
            1   32     1  targetSource  Lorg/springframework/jndi/JndiObjectTargetSource;
            3   32     2      jndiName  Ljava/lang/String;
           13   32     3  proxyFactory  Lorg/springframework/aop/framework/ProxyFactory;
           17   28     4   targetClass  Ljava/lang/Class<*>;
           22   28     5          ifcs  [Ljava/lang/Class;
           24   26     6           ifc  Ljava/lang/Class<*>;
    Exceptions:
      throws javax.naming.NamingException
    MethodParameters:
      Name  Flags
      jof   
}
SourceFile: "JndiObjectFactoryBean.java"
NestHost: org.springframework.jndi.JndiObjectFactoryBean
InnerClasses:
  private JndiContextExposingInterceptor = org.springframework.jndi.JndiObjectFactoryBean$JndiContextExposingInterceptor of org.springframework.jndi.JndiObjectFactoryBean
  private JndiObjectProxyFactory = org.springframework.jndi.JndiObjectFactoryBean$JndiObjectProxyFactory of org.springframework.jndi.JndiObjectFactoryBean