class org.springframework.context.annotation.CommonAnnotationBeanPostProcessor$EjbRefElement extends org.springframework.context.annotation.CommonAnnotationBeanPostProcessor$LookupElement
minor version: 0
major version: 59
flags: flags: (0x0020) ACC_SUPER
this_class: org.springframework.context.annotation.CommonAnnotationBeanPostProcessor$EjbRefElement
super_class: org.springframework.context.annotation.CommonAnnotationBeanPostProcessor$LookupElement
{
private final java.lang.String beanName;
descriptor: Ljava/lang/String;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
final org.springframework.context.annotation.CommonAnnotationBeanPostProcessor this$0;
descriptor: Lorg/springframework/context/annotation/CommonAnnotationBeanPostProcessor;
flags: (0x1010) ACC_FINAL, ACC_SYNTHETIC
public void <init>(org.springframework.context.annotation.CommonAnnotationBeanPostProcessor, java.lang.reflect.Member, java.lang.reflect.AnnotatedElement, java.beans.PropertyDescriptor);
descriptor: (Lorg/springframework/context/annotation/CommonAnnotationBeanPostProcessor;Ljava/lang/reflect/Member;Ljava/lang/reflect/AnnotatedElement;Ljava/beans/PropertyDescriptor;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=9, args_size=5
start local 0 start local 2 start local 3 start local 4 0: aload 0
aload 1
putfield org.springframework.context.annotation.CommonAnnotationBeanPostProcessor$EjbRefElement.this$0:Lorg/springframework/context/annotation/CommonAnnotationBeanPostProcessor;
1: aload 0
aload 1
aload 2
aload 4
invokespecial org.springframework.context.annotation.CommonAnnotationBeanPostProcessor$LookupElement.<init>:(Lorg/springframework/context/annotation/CommonAnnotationBeanPostProcessor;Ljava/lang/reflect/Member;Ljava/beans/PropertyDescriptor;)V
2: aload 3
ldc Ljavax/ejb/EJB;
invokeinterface java.lang.reflect.AnnotatedElement.getAnnotation:(Ljava/lang/Class;)Ljava/lang/annotation/Annotation;
checkcast javax.ejb.EJB
astore 5
start local 5 3: aload 5
invokeinterface javax.ejb.EJB.beanName:()Ljava/lang/String;
astore 6
start local 6 4: aload 5
invokeinterface javax.ejb.EJB.name:()Ljava/lang/String;
astore 7
start local 7 5: aload 0
aload 7
invokestatic org.springframework.util.StringUtils.hasLength:(Ljava/lang/String;)Z
ifeq 6
iconst_0
goto 7
StackMap locals: org.springframework.context.annotation.CommonAnnotationBeanPostProcessor$EjbRefElement org.springframework.context.annotation.CommonAnnotationBeanPostProcessor java.lang.reflect.Member java.lang.reflect.AnnotatedElement java.beans.PropertyDescriptor javax.ejb.EJB java.lang.String java.lang.String
StackMap stack: org.springframework.context.annotation.CommonAnnotationBeanPostProcessor$EjbRefElement
6: iconst_1
StackMap locals: org.springframework.context.annotation.CommonAnnotationBeanPostProcessor$EjbRefElement org.springframework.context.annotation.CommonAnnotationBeanPostProcessor java.lang.reflect.Member java.lang.reflect.AnnotatedElement java.beans.PropertyDescriptor javax.ejb.EJB java.lang.String java.lang.String
StackMap stack: org.springframework.context.annotation.CommonAnnotationBeanPostProcessor$EjbRefElement int
7: putfield org.springframework.context.annotation.CommonAnnotationBeanPostProcessor$EjbRefElement.isDefaultName:Z
8: aload 0
getfield org.springframework.context.annotation.CommonAnnotationBeanPostProcessor$EjbRefElement.isDefaultName:Z
ifeq 12
9: aload 0
getfield org.springframework.context.annotation.CommonAnnotationBeanPostProcessor$EjbRefElement.member:Ljava/lang/reflect/Member;
invokeinterface java.lang.reflect.Member.getName:()Ljava/lang/String;
astore 7
10: aload 0
getfield org.springframework.context.annotation.CommonAnnotationBeanPostProcessor$EjbRefElement.member:Ljava/lang/reflect/Member;
instanceof java.lang.reflect.Method
ifeq 12
aload 7
ldc "set"
invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
ifeq 12
aload 7
invokevirtual java.lang.String.length:()I
iconst_3
if_icmple 12
11: aload 7
iconst_3
invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
invokestatic java.beans.Introspector.decapitalize:(Ljava/lang/String;)Ljava/lang/String;
astore 7
12: StackMap locals:
StackMap stack:
aload 5
invokeinterface javax.ejb.EJB.beanInterface:()Ljava/lang/Class;
astore 8
start local 8 13: ldc Ljava/lang/Object;
aload 8
if_acmpeq 16
14: aload 0
aload 8
invokevirtual org.springframework.context.annotation.CommonAnnotationBeanPostProcessor$EjbRefElement.checkResourceType:(Ljava/lang/Class;)V
15: goto 17
16: StackMap locals: java.lang.Class
StackMap stack:
aload 0
invokevirtual org.springframework.context.annotation.CommonAnnotationBeanPostProcessor$EjbRefElement.getResourceType:()Ljava/lang/Class;
astore 8
17: StackMap locals:
StackMap stack:
aload 0
aload 6
putfield org.springframework.context.annotation.CommonAnnotationBeanPostProcessor$EjbRefElement.beanName:Ljava/lang/String;
18: aload 0
aload 7
putfield org.springframework.context.annotation.CommonAnnotationBeanPostProcessor$EjbRefElement.name:Ljava/lang/String;
19: aload 0
aload 8
putfield org.springframework.context.annotation.CommonAnnotationBeanPostProcessor$EjbRefElement.lookupType:Ljava/lang/Class;
20: aload 0
aload 5
invokeinterface javax.ejb.EJB.mappedName:()Ljava/lang/String;
putfield org.springframework.context.annotation.CommonAnnotationBeanPostProcessor$EjbRefElement.mappedName:Ljava/lang/String;
21: return
end local 8 end local 7 end local 6 end local 5 end local 4 end local 3 end local 2 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 22 0 this Lorg/springframework/context/annotation/CommonAnnotationBeanPostProcessor$EjbRefElement;
0 22 2 member Ljava/lang/reflect/Member;
0 22 3 ae Ljava/lang/reflect/AnnotatedElement;
0 22 4 pd Ljava/beans/PropertyDescriptor;
3 22 5 resource Ljavax/ejb/EJB;
4 22 6 resourceBeanName Ljava/lang/String;
5 22 7 resourceName Ljava/lang/String;
13 22 8 resourceType Ljava/lang/Class<*>;
RuntimeVisibleParameterAnnotations:
0:
1:
2:
org.springframework.lang.Nullable()
3:
MethodParameters:
Name Flags
this$0 final
member
ae
pd
protected java.lang.Object getResourceToInject(java.lang.Object, java.lang.String);
descriptor: (Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Object;
flags: (0x0004) ACC_PROTECTED
Code:
stack=4, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield org.springframework.context.annotation.CommonAnnotationBeanPostProcessor$EjbRefElement.beanName:Ljava/lang/String;
invokestatic org.springframework.util.StringUtils.hasLength:(Ljava/lang/String;)Z
ifeq 10
1: aload 0
getfield org.springframework.context.annotation.CommonAnnotationBeanPostProcessor$EjbRefElement.this$0:Lorg/springframework/context/annotation/CommonAnnotationBeanPostProcessor;
getfield org.springframework.context.annotation.CommonAnnotationBeanPostProcessor.beanFactory:Lorg/springframework/beans/factory/BeanFactory;
ifnull 6
aload 0
getfield org.springframework.context.annotation.CommonAnnotationBeanPostProcessor$EjbRefElement.this$0:Lorg/springframework/context/annotation/CommonAnnotationBeanPostProcessor;
getfield org.springframework.context.annotation.CommonAnnotationBeanPostProcessor.beanFactory:Lorg/springframework/beans/factory/BeanFactory;
aload 0
getfield org.springframework.context.annotation.CommonAnnotationBeanPostProcessor$EjbRefElement.beanName:Ljava/lang/String;
invokeinterface org.springframework.beans.factory.BeanFactory.containsBean:(Ljava/lang/String;)Z
ifeq 6
2: aload 0
getfield org.springframework.context.annotation.CommonAnnotationBeanPostProcessor$EjbRefElement.this$0:Lorg/springframework/context/annotation/CommonAnnotationBeanPostProcessor;
getfield org.springframework.context.annotation.CommonAnnotationBeanPostProcessor.beanFactory:Lorg/springframework/beans/factory/BeanFactory;
aload 0
getfield org.springframework.context.annotation.CommonAnnotationBeanPostProcessor$EjbRefElement.beanName:Ljava/lang/String;
aload 0
getfield org.springframework.context.annotation.CommonAnnotationBeanPostProcessor$EjbRefElement.lookupType:Ljava/lang/Class;
invokeinterface org.springframework.beans.factory.BeanFactory.getBean:(Ljava/lang/String;Ljava/lang/Class;)Ljava/lang/Object;
astore 3
start local 3 3: aload 2
ifnull 5
aload 0
getfield org.springframework.context.annotation.CommonAnnotationBeanPostProcessor$EjbRefElement.this$0:Lorg/springframework/context/annotation/CommonAnnotationBeanPostProcessor;
getfield org.springframework.context.annotation.CommonAnnotationBeanPostProcessor.beanFactory:Lorg/springframework/beans/factory/BeanFactory;
instanceof org.springframework.beans.factory.config.ConfigurableBeanFactory
ifeq 5
4: aload 0
getfield org.springframework.context.annotation.CommonAnnotationBeanPostProcessor$EjbRefElement.this$0:Lorg/springframework/context/annotation/CommonAnnotationBeanPostProcessor;
getfield org.springframework.context.annotation.CommonAnnotationBeanPostProcessor.beanFactory:Lorg/springframework/beans/factory/BeanFactory;
checkcast org.springframework.beans.factory.config.ConfigurableBeanFactory
aload 0
getfield org.springframework.context.annotation.CommonAnnotationBeanPostProcessor$EjbRefElement.beanName:Ljava/lang/String;
aload 2
invokeinterface org.springframework.beans.factory.config.ConfigurableBeanFactory.registerDependentBean:(Ljava/lang/String;Ljava/lang/String;)V
5: StackMap locals: java.lang.Object
StackMap stack:
aload 3
areturn
end local 3 6: StackMap locals:
StackMap stack:
aload 0
getfield org.springframework.context.annotation.CommonAnnotationBeanPostProcessor$EjbRefElement.isDefaultName:Z
ifeq 10
aload 0
getfield org.springframework.context.annotation.CommonAnnotationBeanPostProcessor$EjbRefElement.mappedName:Ljava/lang/String;
invokestatic org.springframework.util.StringUtils.hasLength:(Ljava/lang/String;)Z
ifne 10
7: new org.springframework.beans.factory.NoSuchBeanDefinitionException
dup
aload 0
getfield org.springframework.context.annotation.CommonAnnotationBeanPostProcessor$EjbRefElement.beanName:Ljava/lang/String;
8: ldc "Cannot resolve 'beanName' in local BeanFactory. Consider specifying a general 'name' value instead."
9: invokespecial org.springframework.beans.factory.NoSuchBeanDefinitionException.<init>:(Ljava/lang/String;Ljava/lang/String;)V
athrow
10: StackMap locals:
StackMap stack:
aload 0
getfield org.springframework.context.annotation.CommonAnnotationBeanPostProcessor$EjbRefElement.this$0:Lorg/springframework/context/annotation/CommonAnnotationBeanPostProcessor;
aload 0
aload 2
invokevirtual org.springframework.context.annotation.CommonAnnotationBeanPostProcessor.getResource:(Lorg/springframework/context/annotation/CommonAnnotationBeanPostProcessor$LookupElement;Ljava/lang/String;)Ljava/lang/Object;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 this Lorg/springframework/context/annotation/CommonAnnotationBeanPostProcessor$EjbRefElement;
0 11 1 target Ljava/lang/Object;
0 11 2 requestingBeanName Ljava/lang/String;
3 6 3 bean Ljava/lang/Object;
RuntimeVisibleParameterAnnotations:
0:
1:
org.springframework.lang.Nullable()
MethodParameters:
Name Flags
target
requestingBeanName
}
SourceFile: "CommonAnnotationBeanPostProcessor.java"
NestHost: org.springframework.context.annotation.CommonAnnotationBeanPostProcessor
InnerClasses:
private EjbRefElement = org.springframework.context.annotation.CommonAnnotationBeanPostProcessor$EjbRefElement of org.springframework.context.annotation.CommonAnnotationBeanPostProcessor
protected abstract LookupElement = org.springframework.context.annotation.CommonAnnotationBeanPostProcessor$LookupElement of org.springframework.context.annotation.CommonAnnotationBeanPostProcessor