public class org.springframework.transaction.annotation.AnnotationTransactionAttributeSource extends org.springframework.transaction.interceptor.AbstractFallbackTransactionAttributeSource implements java.io.Serializable
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: org.springframework.transaction.annotation.AnnotationTransactionAttributeSource
super_class: org.springframework.transaction.interceptor.AbstractFallbackTransactionAttributeSource
{
private static final boolean jta12Present;
descriptor: Z
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final boolean ejb3Present;
descriptor: Z
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private final boolean publicMethodsOnly;
descriptor: Z
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final java.util.Set<org.springframework.transaction.annotation.TransactionAnnotationParser> annotationParsers;
descriptor: Ljava/util/Set;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Ljava/util/Set<Lorg/springframework/transaction/annotation/TransactionAnnotationParser;>;
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=2, locals=1, args_size=0
0: ldc Lorg/springframework/transaction/annotation/AnnotationTransactionAttributeSource;
invokevirtual java.lang.Class.getClassLoader:()Ljava/lang/ClassLoader;
astore 0
start local 0 1: ldc "javax.transaction.Transactional"
aload 0
invokestatic org.springframework.util.ClassUtils.isPresent:(Ljava/lang/String;Ljava/lang/ClassLoader;)Z
putstatic org.springframework.transaction.annotation.AnnotationTransactionAttributeSource.jta12Present:Z
2: ldc "javax.ejb.TransactionAttribute"
aload 0
invokestatic org.springframework.util.ClassUtils.isPresent:(Ljava/lang/String;Ljava/lang/ClassLoader;)Z
putstatic org.springframework.transaction.annotation.AnnotationTransactionAttributeSource.ejb3Present:Z
end local 0 3: return
LocalVariableTable:
Start End Slot Name Signature
1 3 0 classLoader Ljava/lang/ClassLoader;
public void <init>();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
iconst_1
invokespecial org.springframework.transaction.annotation.AnnotationTransactionAttributeSource.<init>:(Z)V
1: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/springframework/transaction/annotation/AnnotationTransactionAttributeSource;
public void <init>(boolean);
descriptor: (Z)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: aload 0
invokespecial org.springframework.transaction.interceptor.AbstractFallbackTransactionAttributeSource.<init>:()V
1: aload 0
iload 1
putfield org.springframework.transaction.annotation.AnnotationTransactionAttributeSource.publicMethodsOnly:Z
2: getstatic org.springframework.transaction.annotation.AnnotationTransactionAttributeSource.jta12Present:Z
ifne 3
getstatic org.springframework.transaction.annotation.AnnotationTransactionAttributeSource.ejb3Present:Z
ifeq 10
3: StackMap locals: org.springframework.transaction.annotation.AnnotationTransactionAttributeSource int
StackMap stack:
aload 0
new java.util.LinkedHashSet
dup
iconst_4
invokespecial java.util.LinkedHashSet.<init>:(I)V
putfield org.springframework.transaction.annotation.AnnotationTransactionAttributeSource.annotationParsers:Ljava/util/Set;
4: aload 0
getfield org.springframework.transaction.annotation.AnnotationTransactionAttributeSource.annotationParsers:Ljava/util/Set;
new org.springframework.transaction.annotation.SpringTransactionAnnotationParser
dup
invokespecial org.springframework.transaction.annotation.SpringTransactionAnnotationParser.<init>:()V
invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
pop
5: getstatic org.springframework.transaction.annotation.AnnotationTransactionAttributeSource.jta12Present:Z
ifeq 7
6: aload 0
getfield org.springframework.transaction.annotation.AnnotationTransactionAttributeSource.annotationParsers:Ljava/util/Set;
new org.springframework.transaction.annotation.JtaTransactionAnnotationParser
dup
invokespecial org.springframework.transaction.annotation.JtaTransactionAnnotationParser.<init>:()V
invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
pop
7: StackMap locals:
StackMap stack:
getstatic org.springframework.transaction.annotation.AnnotationTransactionAttributeSource.ejb3Present:Z
ifeq 11
8: aload 0
getfield org.springframework.transaction.annotation.AnnotationTransactionAttributeSource.annotationParsers:Ljava/util/Set;
new org.springframework.transaction.annotation.Ejb3TransactionAnnotationParser
dup
invokespecial org.springframework.transaction.annotation.Ejb3TransactionAnnotationParser.<init>:()V
invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
pop
9: goto 11
10: StackMap locals:
StackMap stack:
aload 0
new org.springframework.transaction.annotation.SpringTransactionAnnotationParser
dup
invokespecial org.springframework.transaction.annotation.SpringTransactionAnnotationParser.<init>:()V
invokestatic java.util.Collections.singleton:(Ljava/lang/Object;)Ljava/util/Set;
putfield org.springframework.transaction.annotation.AnnotationTransactionAttributeSource.annotationParsers:Ljava/util/Set;
11: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 12 0 this Lorg/springframework/transaction/annotation/AnnotationTransactionAttributeSource;
0 12 1 publicMethodsOnly Z
MethodParameters:
Name Flags
publicMethodsOnly
public void <init>(org.springframework.transaction.annotation.TransactionAnnotationParser);
descriptor: (Lorg/springframework/transaction/annotation/TransactionAnnotationParser;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
invokespecial org.springframework.transaction.interceptor.AbstractFallbackTransactionAttributeSource.<init>:()V
1: aload 0
iconst_1
putfield org.springframework.transaction.annotation.AnnotationTransactionAttributeSource.publicMethodsOnly:Z
2: aload 1
ldc "TransactionAnnotationParser must not be null"
invokestatic org.springframework.util.Assert.notNull:(Ljava/lang/Object;Ljava/lang/String;)V
3: aload 0
aload 1
invokestatic java.util.Collections.singleton:(Ljava/lang/Object;)Ljava/util/Set;
putfield org.springframework.transaction.annotation.AnnotationTransactionAttributeSource.annotationParsers:Ljava/util/Set;
4: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lorg/springframework/transaction/annotation/AnnotationTransactionAttributeSource;
0 5 1 annotationParser Lorg/springframework/transaction/annotation/TransactionAnnotationParser;
MethodParameters:
Name Flags
annotationParser
public void <init>(org.springframework.transaction.annotation.TransactionAnnotationParser[]);
descriptor: ([Lorg/springframework/transaction/annotation/TransactionAnnotationParser;)V
flags: (0x0081) ACC_PUBLIC, ACC_VARARGS
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: aload 0
invokespecial org.springframework.transaction.interceptor.AbstractFallbackTransactionAttributeSource.<init>:()V
1: aload 0
iconst_1
putfield org.springframework.transaction.annotation.AnnotationTransactionAttributeSource.publicMethodsOnly:Z
2: aload 1
ldc "At least one TransactionAnnotationParser needs to be specified"
invokestatic org.springframework.util.Assert.notEmpty:([Ljava/lang/Object;Ljava/lang/String;)V
3: aload 0
new java.util.LinkedHashSet
dup
aload 1
invokestatic java.util.Arrays.asList:([Ljava/lang/Object;)Ljava/util/List;
invokespecial java.util.LinkedHashSet.<init>:(Ljava/util/Collection;)V
putfield org.springframework.transaction.annotation.AnnotationTransactionAttributeSource.annotationParsers:Ljava/util/Set;
4: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lorg/springframework/transaction/annotation/AnnotationTransactionAttributeSource;
0 5 1 annotationParsers [Lorg/springframework/transaction/annotation/TransactionAnnotationParser;
MethodParameters:
Name Flags
annotationParsers
public void <init>(java.util.Set<org.springframework.transaction.annotation.TransactionAnnotationParser>);
descriptor: (Ljava/util/Set;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
invokespecial org.springframework.transaction.interceptor.AbstractFallbackTransactionAttributeSource.<init>:()V
1: aload 0
iconst_1
putfield org.springframework.transaction.annotation.AnnotationTransactionAttributeSource.publicMethodsOnly:Z
2: aload 1
ldc "At least one TransactionAnnotationParser needs to be specified"
invokestatic org.springframework.util.Assert.notEmpty:(Ljava/util/Collection;Ljava/lang/String;)V
3: aload 0
aload 1
putfield org.springframework.transaction.annotation.AnnotationTransactionAttributeSource.annotationParsers:Ljava/util/Set;
4: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lorg/springframework/transaction/annotation/AnnotationTransactionAttributeSource;
0 5 1 annotationParsers Ljava/util/Set<Lorg/springframework/transaction/annotation/TransactionAnnotationParser;>;
Signature: (Ljava/util/Set<Lorg/springframework/transaction/annotation/TransactionAnnotationParser;>;)V
MethodParameters:
Name Flags
annotationParsers
protected org.springframework.transaction.interceptor.TransactionAttribute findTransactionAttribute(java.lang.Class<?>);
descriptor: (Ljava/lang/Class;)Lorg/springframework/transaction/interceptor/TransactionAttribute;
flags: (0x0004) ACC_PROTECTED
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokevirtual org.springframework.transaction.annotation.AnnotationTransactionAttributeSource.determineTransactionAttribute:(Ljava/lang/reflect/AnnotatedElement;)Lorg/springframework/transaction/interceptor/TransactionAttribute;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/springframework/transaction/annotation/AnnotationTransactionAttributeSource;
0 1 1 clazz Ljava/lang/Class<*>;
Signature: (Ljava/lang/Class<*>;)Lorg/springframework/transaction/interceptor/TransactionAttribute;
RuntimeVisibleAnnotations:
org.springframework.lang.Nullable()
MethodParameters:
Name Flags
clazz
protected org.springframework.transaction.interceptor.TransactionAttribute findTransactionAttribute(java.lang.reflect.Method);
descriptor: (Ljava/lang/reflect/Method;)Lorg/springframework/transaction/interceptor/TransactionAttribute;
flags: (0x0004) ACC_PROTECTED
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokevirtual org.springframework.transaction.annotation.AnnotationTransactionAttributeSource.determineTransactionAttribute:(Ljava/lang/reflect/AnnotatedElement;)Lorg/springframework/transaction/interceptor/TransactionAttribute;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/springframework/transaction/annotation/AnnotationTransactionAttributeSource;
0 1 1 method Ljava/lang/reflect/Method;
RuntimeVisibleAnnotations:
org.springframework.lang.Nullable()
MethodParameters:
Name Flags
method
protected org.springframework.transaction.interceptor.TransactionAttribute determineTransactionAttribute(java.lang.reflect.AnnotatedElement);
descriptor: (Ljava/lang/reflect/AnnotatedElement;)Lorg/springframework/transaction/interceptor/TransactionAttribute;
flags: (0x0004) ACC_PROTECTED
Code:
stack=2, locals=5, args_size=2
start local 0 start local 1 0: aload 0
getfield org.springframework.transaction.annotation.AnnotationTransactionAttributeSource.annotationParsers:Ljava/util/Set;
invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
astore 3
goto 5
StackMap locals: org.springframework.transaction.annotation.AnnotationTransactionAttributeSource java.lang.reflect.AnnotatedElement top java.util.Iterator
StackMap stack:
1: aload 3
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.springframework.transaction.annotation.TransactionAnnotationParser
astore 2
start local 2 2: aload 2
aload 1
invokeinterface org.springframework.transaction.annotation.TransactionAnnotationParser.parseTransactionAnnotation:(Ljava/lang/reflect/AnnotatedElement;)Lorg/springframework/transaction/interceptor/TransactionAttribute;
astore 4
start local 4 3: aload 4
ifnull 5
4: aload 4
areturn
end local 4 end local 2 5: StackMap locals:
StackMap stack:
aload 3
invokeinterface java.util.Iterator.hasNext:()Z
ifne 1
6: aconst_null
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lorg/springframework/transaction/annotation/AnnotationTransactionAttributeSource;
0 7 1 element Ljava/lang/reflect/AnnotatedElement;
2 5 2 annotationParser Lorg/springframework/transaction/annotation/TransactionAnnotationParser;
3 5 4 attr Lorg/springframework/transaction/interceptor/TransactionAttribute;
RuntimeVisibleAnnotations:
org.springframework.lang.Nullable()
MethodParameters:
Name Flags
element
protected boolean allowPublicMethodsOnly();
descriptor: ()Z
flags: (0x0004) ACC_PROTECTED
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.springframework.transaction.annotation.AnnotationTransactionAttributeSource.publicMethodsOnly:Z
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/springframework/transaction/annotation/AnnotationTransactionAttributeSource;
public boolean equals(java.lang.Object);
descriptor: (Ljava/lang/Object;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=3, args_size=2
start local 0 start local 1 0: aload 0
aload 1
if_acmpne 2
1: iconst_1
ireturn
2: StackMap locals:
StackMap stack:
aload 1
instanceof org.springframework.transaction.annotation.AnnotationTransactionAttributeSource
ifne 4
3: iconst_0
ireturn
4: StackMap locals:
StackMap stack:
aload 1
checkcast org.springframework.transaction.annotation.AnnotationTransactionAttributeSource
astore 2
start local 2 5: aload 0
getfield org.springframework.transaction.annotation.AnnotationTransactionAttributeSource.annotationParsers:Ljava/util/Set;
aload 2
getfield org.springframework.transaction.annotation.AnnotationTransactionAttributeSource.annotationParsers:Ljava/util/Set;
invokeinterface java.util.Set.equals:(Ljava/lang/Object;)Z
ifeq 8
6: aload 0
getfield org.springframework.transaction.annotation.AnnotationTransactionAttributeSource.publicMethodsOnly:Z
aload 2
getfield org.springframework.transaction.annotation.AnnotationTransactionAttributeSource.publicMethodsOnly:Z
if_icmpne 8
7: iconst_1
ireturn
StackMap locals: org.springframework.transaction.annotation.AnnotationTransactionAttributeSource
StackMap stack:
8: iconst_0
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Lorg/springframework/transaction/annotation/AnnotationTransactionAttributeSource;
0 9 1 other Ljava/lang/Object;
5 9 2 otherTas Lorg/springframework/transaction/annotation/AnnotationTransactionAttributeSource;
MethodParameters:
Name Flags
other
public int hashCode();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.springframework.transaction.annotation.AnnotationTransactionAttributeSource.annotationParsers:Ljava/util/Set;
invokeinterface java.util.Set.hashCode:()I
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/springframework/transaction/annotation/AnnotationTransactionAttributeSource;
}
SourceFile: "AnnotationTransactionAttributeSource.java"