public class org.springframework.transaction.interceptor.DefaultTransactionAttribute extends org.springframework.transaction.support.DefaultTransactionDefinition implements org.springframework.transaction.interceptor.TransactionAttribute
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.springframework.transaction.interceptor.DefaultTransactionAttribute
  super_class: org.springframework.transaction.support.DefaultTransactionDefinition
{
  private java.lang.String descriptor;
    descriptor: Ljava/lang/String;
    flags: (0x0002) ACC_PRIVATE
    RuntimeVisibleAnnotations: 
      org.springframework.lang.Nullable()

  private java.lang.String timeoutString;
    descriptor: Ljava/lang/String;
    flags: (0x0002) ACC_PRIVATE
    RuntimeVisibleAnnotations: 
      org.springframework.lang.Nullable()

  private java.lang.String qualifier;
    descriptor: Ljava/lang/String;
    flags: (0x0002) ACC_PRIVATE
    RuntimeVisibleAnnotations: 
      org.springframework.lang.Nullable()

  private java.util.Collection<java.lang.String> labels;
    descriptor: Ljava/util/Collection;
    flags: (0x0002) ACC_PRIVATE
    Signature: Ljava/util/Collection<Ljava/lang/String;>;

  public void <init>();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.springframework.transaction.interceptor.DefaultTransactionAttribute this
         0: .line 63
            aload 0 /* this */
            invokespecial org.springframework.transaction.support.DefaultTransactionDefinition.<init>:()V
         1: .line 50
            aload 0 /* this */
            invokestatic java.util.Collections.emptyList:()Ljava/util/List;
            putfield org.springframework.transaction.interceptor.DefaultTransactionAttribute.labels:Ljava/util/Collection;
         2: .line 64
            return
        end local 0 // org.springframework.transaction.interceptor.DefaultTransactionAttribute this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lorg/springframework/transaction/interceptor/DefaultTransactionAttribute;

  public void <init>(org.springframework.transaction.interceptor.TransactionAttribute);
    descriptor: (Lorg/springframework/transaction/interceptor/TransactionAttribute;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.springframework.transaction.interceptor.DefaultTransactionAttribute this
        start local 1 // org.springframework.transaction.interceptor.TransactionAttribute other
         0: .line 75
            aload 0 /* this */
            aload 1 /* other */
            invokespecial org.springframework.transaction.support.DefaultTransactionDefinition.<init>:(Lorg/springframework/transaction/TransactionDefinition;)V
         1: .line 50
            aload 0 /* this */
            invokestatic java.util.Collections.emptyList:()Ljava/util/List;
            putfield org.springframework.transaction.interceptor.DefaultTransactionAttribute.labels:Ljava/util/Collection;
         2: .line 76
            return
        end local 1 // org.springframework.transaction.interceptor.TransactionAttribute other
        end local 0 // org.springframework.transaction.interceptor.DefaultTransactionAttribute this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    3     0   this  Lorg/springframework/transaction/interceptor/DefaultTransactionAttribute;
            0    3     1  other  Lorg/springframework/transaction/interceptor/TransactionAttribute;
    MethodParameters:
       Name  Flags
      other  

  public void <init>(int);
    descriptor: (I)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.springframework.transaction.interceptor.DefaultTransactionAttribute this
        start local 1 // int propagationBehavior
         0: .line 88
            aload 0 /* this */
            iload 1 /* propagationBehavior */
            invokespecial org.springframework.transaction.support.DefaultTransactionDefinition.<init>:(I)V
         1: .line 50
            aload 0 /* this */
            invokestatic java.util.Collections.emptyList:()Ljava/util/List;
            putfield org.springframework.transaction.interceptor.DefaultTransactionAttribute.labels:Ljava/util/Collection;
         2: .line 89
            return
        end local 1 // int propagationBehavior
        end local 0 // org.springframework.transaction.interceptor.DefaultTransactionAttribute this
      LocalVariableTable:
        Start  End  Slot                 Name  Signature
            0    3     0                 this  Lorg/springframework/transaction/interceptor/DefaultTransactionAttribute;
            0    3     1  propagationBehavior  I
    MethodParameters:
                     Name  Flags
      propagationBehavior  

  public void setDescriptor(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.springframework.transaction.interceptor.DefaultTransactionAttribute this
        start local 1 // java.lang.String descriptor
         0: .line 98
            aload 0 /* this */
            aload 1 /* descriptor */
            putfield org.springframework.transaction.interceptor.DefaultTransactionAttribute.descriptor:Ljava/lang/String;
         1: .line 99
            return
        end local 1 // java.lang.String descriptor
        end local 0 // org.springframework.transaction.interceptor.DefaultTransactionAttribute this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    2     0        this  Lorg/springframework/transaction/interceptor/DefaultTransactionAttribute;
            0    2     1  descriptor  Ljava/lang/String;
    RuntimeVisibleParameterAnnotations: 
      0:
        org.springframework.lang.Nullable()
    MethodParameters:
            Name  Flags
      descriptor  

  public java.lang.String getDescriptor();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.springframework.transaction.interceptor.DefaultTransactionAttribute this
         0: .line 108
            aload 0 /* this */
            getfield org.springframework.transaction.interceptor.DefaultTransactionAttribute.descriptor:Ljava/lang/String;
            areturn
        end local 0 // org.springframework.transaction.interceptor.DefaultTransactionAttribute this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/springframework/transaction/interceptor/DefaultTransactionAttribute;
    RuntimeVisibleAnnotations: 
      org.springframework.lang.Nullable()

  public void setTimeoutString(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.springframework.transaction.interceptor.DefaultTransactionAttribute this
        start local 1 // java.lang.String timeoutString
         0: .line 119
            aload 0 /* this */
            aload 1 /* timeoutString */
            putfield org.springframework.transaction.interceptor.DefaultTransactionAttribute.timeoutString:Ljava/lang/String;
         1: .line 120
            return
        end local 1 // java.lang.String timeoutString
        end local 0 // org.springframework.transaction.interceptor.DefaultTransactionAttribute this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    2     0           this  Lorg/springframework/transaction/interceptor/DefaultTransactionAttribute;
            0    2     1  timeoutString  Ljava/lang/String;
    RuntimeVisibleParameterAnnotations: 
      0:
        org.springframework.lang.Nullable()
    MethodParameters:
               Name  Flags
      timeoutString  

  public java.lang.String getTimeoutString();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.springframework.transaction.interceptor.DefaultTransactionAttribute this
         0: .line 131
            aload 0 /* this */
            getfield org.springframework.transaction.interceptor.DefaultTransactionAttribute.timeoutString:Ljava/lang/String;
            areturn
        end local 0 // org.springframework.transaction.interceptor.DefaultTransactionAttribute this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/springframework/transaction/interceptor/DefaultTransactionAttribute;
    RuntimeVisibleAnnotations: 
      org.springframework.lang.Nullable()

  public void setQualifier(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.springframework.transaction.interceptor.DefaultTransactionAttribute this
        start local 1 // java.lang.String qualifier
         0: .line 142
            aload 0 /* this */
            aload 1 /* qualifier */
            putfield org.springframework.transaction.interceptor.DefaultTransactionAttribute.qualifier:Ljava/lang/String;
         1: .line 143
            return
        end local 1 // java.lang.String qualifier
        end local 0 // org.springframework.transaction.interceptor.DefaultTransactionAttribute this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    2     0       this  Lorg/springframework/transaction/interceptor/DefaultTransactionAttribute;
            0    2     1  qualifier  Ljava/lang/String;
    RuntimeVisibleParameterAnnotations: 
      0:
        org.springframework.lang.Nullable()
    MethodParameters:
           Name  Flags
      qualifier  

  public java.lang.String getQualifier();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.springframework.transaction.interceptor.DefaultTransactionAttribute this
         0: .line 152
            aload 0 /* this */
            getfield org.springframework.transaction.interceptor.DefaultTransactionAttribute.qualifier:Ljava/lang/String;
            areturn
        end local 0 // org.springframework.transaction.interceptor.DefaultTransactionAttribute this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/springframework/transaction/interceptor/DefaultTransactionAttribute;
    RuntimeVisibleAnnotations: 
      org.springframework.lang.Nullable()

  public void setLabels(java.util.Collection<java.lang.String>);
    descriptor: (Ljava/util/Collection;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.springframework.transaction.interceptor.DefaultTransactionAttribute this
        start local 1 // java.util.Collection labels
         0: .line 163
            aload 0 /* this */
            aload 1 /* labels */
            putfield org.springframework.transaction.interceptor.DefaultTransactionAttribute.labels:Ljava/util/Collection;
         1: .line 164
            return
        end local 1 // java.util.Collection labels
        end local 0 // org.springframework.transaction.interceptor.DefaultTransactionAttribute this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    2     0    this  Lorg/springframework/transaction/interceptor/DefaultTransactionAttribute;
            0    2     1  labels  Ljava/util/Collection<Ljava/lang/String;>;
    Signature: (Ljava/util/Collection<Ljava/lang/String;>;)V
    MethodParameters:
        Name  Flags
      labels  

  public java.util.Collection<java.lang.String> getLabels();
    descriptor: ()Ljava/util/Collection;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.springframework.transaction.interceptor.DefaultTransactionAttribute this
         0: .line 168
            aload 0 /* this */
            getfield org.springframework.transaction.interceptor.DefaultTransactionAttribute.labels:Ljava/util/Collection;
            areturn
        end local 0 // org.springframework.transaction.interceptor.DefaultTransactionAttribute this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/springframework/transaction/interceptor/DefaultTransactionAttribute;
    Signature: ()Ljava/util/Collection<Ljava/lang/String;>;

  public boolean rollbackOn(java.lang.Throwable);
    descriptor: (Ljava/lang/Throwable;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=2, args_size=2
        start local 0 // org.springframework.transaction.interceptor.DefaultTransactionAttribute this
        start local 1 // java.lang.Throwable ex
         0: .line 187
            aload 1 /* ex */
            instanceof java.lang.RuntimeException
            ifne 1
            aload 1 /* ex */
            instanceof java.lang.Error
            ifne 1
            iconst_0
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_1
            ireturn
        end local 1 // java.lang.Throwable ex
        end local 0 // org.springframework.transaction.interceptor.DefaultTransactionAttribute this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/springframework/transaction/interceptor/DefaultTransactionAttribute;
            0    2     1    ex  Ljava/lang/Throwable;
    MethodParameters:
      Name  Flags
      ex    

  public void resolveAttributeStrings(org.springframework.util.StringValueResolver);
    descriptor: (Lorg/springframework/util/StringValueResolver;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=6, args_size=2
        start local 0 // org.springframework.transaction.interceptor.DefaultTransactionAttribute this
        start local 1 // org.springframework.util.StringValueResolver resolver
         0: .line 199
            aload 0 /* this */
            getfield org.springframework.transaction.interceptor.DefaultTransactionAttribute.timeoutString:Ljava/lang/String;
            astore 2 /* timeoutString */
        start local 2 // java.lang.String timeoutString
         1: .line 200
            aload 2 /* timeoutString */
            invokestatic org.springframework.util.StringUtils.hasText:(Ljava/lang/String;)Z
            ifeq 11
         2: .line 201
            aload 1 /* resolver */
            ifnull 4
         3: .line 202
            aload 1 /* resolver */
            aload 2 /* timeoutString */
            invokeinterface org.springframework.util.StringValueResolver.resolveStringValue:(Ljava/lang/String;)Ljava/lang/String;
            astore 2 /* timeoutString */
         4: .line 204
      StackMap locals: java.lang.String
      StackMap stack:
            aload 2 /* timeoutString */
            invokestatic org.springframework.util.StringUtils.hasLength:(Ljava/lang/String;)Z
            ifeq 11
         5: .line 206
            aload 0 /* this */
            aload 2 /* timeoutString */
            invokestatic java.lang.Integer.parseInt:(Ljava/lang/String;)I
            invokevirtual org.springframework.transaction.interceptor.DefaultTransactionAttribute.setTimeout:(I)V
         6: .line 207
            goto 11
         7: .line 208
      StackMap locals:
      StackMap stack: java.lang.RuntimeException
            pop
         8: .line 209
            new java.lang.IllegalArgumentException
            dup
         9: .line 210
            new java.lang.StringBuilder
            dup
            ldc "Invalid timeoutString value \""
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 2 /* timeoutString */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "\" - cannot parse into int"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        10: .line 209
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
        11: .line 215
      StackMap locals:
      StackMap stack:
            aload 1 /* resolver */
            ifnull 20
        12: .line 216
            aload 0 /* this */
            getfield org.springframework.transaction.interceptor.DefaultTransactionAttribute.qualifier:Ljava/lang/String;
            ifnull 14
        13: .line 217
            aload 0 /* this */
            aload 1 /* resolver */
            aload 0 /* this */
            getfield org.springframework.transaction.interceptor.DefaultTransactionAttribute.qualifier:Ljava/lang/String;
            invokeinterface org.springframework.util.StringValueResolver.resolveStringValue:(Ljava/lang/String;)Ljava/lang/String;
            putfield org.springframework.transaction.interceptor.DefaultTransactionAttribute.qualifier:Ljava/lang/String;
        14: .line 219
      StackMap locals:
      StackMap stack:
            new java.util.LinkedHashSet
            dup
            aload 0 /* this */
            getfield org.springframework.transaction.interceptor.DefaultTransactionAttribute.labels:Ljava/util/Collection;
            invokeinterface java.util.Collection.size:()I
            invokespecial java.util.LinkedHashSet.<init>:(I)V
            astore 3 /* resolvedLabels */
        start local 3 // java.util.Set resolvedLabels
        15: .line 220
            aload 0 /* this */
            getfield org.springframework.transaction.interceptor.DefaultTransactionAttribute.labels:Ljava/util/Collection;
            invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
            astore 5
            goto 18
      StackMap locals: org.springframework.transaction.interceptor.DefaultTransactionAttribute org.springframework.util.StringValueResolver java.lang.String java.util.Set top java.util.Iterator
      StackMap stack:
        16: aload 5
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.lang.String
            astore 4 /* label */
        start local 4 // java.lang.String label
        17: .line 221
            aload 3 /* resolvedLabels */
            aload 1 /* resolver */
            aload 4 /* label */
            invokeinterface org.springframework.util.StringValueResolver.resolveStringValue:(Ljava/lang/String;)Ljava/lang/String;
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
        end local 4 // java.lang.String label
        18: .line 220
      StackMap locals:
      StackMap stack:
            aload 5
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 16
        19: .line 223
            aload 0 /* this */
            aload 3 /* resolvedLabels */
            putfield org.springframework.transaction.interceptor.DefaultTransactionAttribute.labels:Ljava/util/Collection;
        end local 3 // java.util.Set resolvedLabels
        20: .line 225
      StackMap locals: org.springframework.transaction.interceptor.DefaultTransactionAttribute org.springframework.util.StringValueResolver java.lang.String
      StackMap stack:
            return
        end local 2 // java.lang.String timeoutString
        end local 1 // org.springframework.util.StringValueResolver resolver
        end local 0 // org.springframework.transaction.interceptor.DefaultTransactionAttribute this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   21     0            this  Lorg/springframework/transaction/interceptor/DefaultTransactionAttribute;
            0   21     1        resolver  Lorg/springframework/util/StringValueResolver;
            1   21     2   timeoutString  Ljava/lang/String;
           15   20     3  resolvedLabels  Ljava/util/Set<Ljava/lang/String;>;
           17   18     4           label  Ljava/lang/String;
      Exception table:
        from    to  target  type
           5     6       7  Class java.lang.RuntimeException
    RuntimeVisibleParameterAnnotations: 
      0:
        org.springframework.lang.Nullable()
    MethodParameters:
          Name  Flags
      resolver  

  protected final java.lang.StringBuilder getAttributeDescription();
    descriptor: ()Ljava/lang/StringBuilder;
    flags: (0x0014) ACC_PROTECTED, ACC_FINAL
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // org.springframework.transaction.interceptor.DefaultTransactionAttribute this
         0: .line 232
            aload 0 /* this */
            invokevirtual org.springframework.transaction.interceptor.DefaultTransactionAttribute.getDefinitionDescription:()Ljava/lang/StringBuilder;
            astore 1 /* result */
        start local 1 // java.lang.StringBuilder result
         1: .line 233
            aload 0 /* this */
            getfield org.springframework.transaction.interceptor.DefaultTransactionAttribute.qualifier:Ljava/lang/String;
            invokestatic org.springframework.util.StringUtils.hasText:(Ljava/lang/String;)Z
            ifeq 3
         2: .line 234
            aload 1 /* result */
            ldc "; '"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* this */
            getfield org.springframework.transaction.interceptor.DefaultTransactionAttribute.qualifier:Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "'"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
         3: .line 236
      StackMap locals: java.lang.StringBuilder
      StackMap stack:
            aload 0 /* this */
            getfield org.springframework.transaction.interceptor.DefaultTransactionAttribute.labels:Ljava/util/Collection;
            invokeinterface java.util.Collection.isEmpty:()Z
            ifne 5
         4: .line 237
            aload 1 /* result */
            ldc "; "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* this */
            getfield org.springframework.transaction.interceptor.DefaultTransactionAttribute.labels:Ljava/util/Collection;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            pop
         5: .line 239
      StackMap locals:
      StackMap stack:
            aload 1 /* result */
            areturn
        end local 1 // java.lang.StringBuilder result
        end local 0 // org.springframework.transaction.interceptor.DefaultTransactionAttribute this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    6     0    this  Lorg/springframework/transaction/interceptor/DefaultTransactionAttribute;
            1    6     1  result  Ljava/lang/StringBuilder;
}
SourceFile: "DefaultTransactionAttribute.java"