class org.springframework.cache.annotation.SpringCacheAnnotationParser$DefaultCacheConfig
  minor version: 0
  major version: 59
  flags: flags: (0x0020) ACC_SUPER
  this_class: org.springframework.cache.annotation.SpringCacheAnnotationParser$DefaultCacheConfig
  super_class: java.lang.Object
{
  private final java.lang.Class<?> target;
    descriptor: Ljava/lang/Class;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Ljava/lang/Class<*>;

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

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

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

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

  private boolean initialized;
    descriptor: Z
    flags: (0x0002) ACC_PRIVATE

  public void <init>(java.lang.Class<?>);
    descriptor: (Ljava/lang/Class;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.springframework.cache.annotation.SpringCacheAnnotationParser$DefaultCacheConfig this
        start local 1 // java.lang.Class target
         0: .line 250
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 248
            aload 0 /* this */
            iconst_0
            putfield org.springframework.cache.annotation.SpringCacheAnnotationParser$DefaultCacheConfig.initialized:Z
         2: .line 251
            aload 0 /* this */
            aload 1 /* target */
            putfield org.springframework.cache.annotation.SpringCacheAnnotationParser$DefaultCacheConfig.target:Ljava/lang/Class;
         3: .line 252
            return
        end local 1 // java.lang.Class target
        end local 0 // org.springframework.cache.annotation.SpringCacheAnnotationParser$DefaultCacheConfig this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    4     0    this  Lorg/springframework/cache/annotation/SpringCacheAnnotationParser$DefaultCacheConfig;
            0    4     1  target  Ljava/lang/Class<*>;
    Signature: (Ljava/lang/Class<*>;)V
    MethodParameters:
        Name  Flags
      target  

  public void applyDefault(org.springframework.cache.interceptor.CacheOperation$Builder);
    descriptor: (Lorg/springframework/cache/interceptor/CacheOperation$Builder;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // org.springframework.cache.annotation.SpringCacheAnnotationParser$DefaultCacheConfig this
        start local 1 // org.springframework.cache.interceptor.CacheOperation$Builder builder
         0: .line 259
            aload 0 /* this */
            getfield org.springframework.cache.annotation.SpringCacheAnnotationParser$DefaultCacheConfig.initialized:Z
            ifne 8
         1: .line 260
            aload 0 /* this */
            getfield org.springframework.cache.annotation.SpringCacheAnnotationParser$DefaultCacheConfig.target:Ljava/lang/Class;
            ldc Lorg/springframework/cache/annotation/CacheConfig;
            invokestatic org.springframework.core.annotation.AnnotatedElementUtils.findMergedAnnotation:(Ljava/lang/reflect/AnnotatedElement;Ljava/lang/Class;)Ljava/lang/annotation/Annotation;
            checkcast org.springframework.cache.annotation.CacheConfig
            astore 2 /* annotation */
        start local 2 // org.springframework.cache.annotation.CacheConfig annotation
         2: .line 261
            aload 2 /* annotation */
            ifnull 7
         3: .line 262
            aload 0 /* this */
            aload 2 /* annotation */
            invokeinterface org.springframework.cache.annotation.CacheConfig.cacheNames:()[Ljava/lang/String;
            putfield org.springframework.cache.annotation.SpringCacheAnnotationParser$DefaultCacheConfig.cacheNames:[Ljava/lang/String;
         4: .line 263
            aload 0 /* this */
            aload 2 /* annotation */
            invokeinterface org.springframework.cache.annotation.CacheConfig.keyGenerator:()Ljava/lang/String;
            putfield org.springframework.cache.annotation.SpringCacheAnnotationParser$DefaultCacheConfig.keyGenerator:Ljava/lang/String;
         5: .line 264
            aload 0 /* this */
            aload 2 /* annotation */
            invokeinterface org.springframework.cache.annotation.CacheConfig.cacheManager:()Ljava/lang/String;
            putfield org.springframework.cache.annotation.SpringCacheAnnotationParser$DefaultCacheConfig.cacheManager:Ljava/lang/String;
         6: .line 265
            aload 0 /* this */
            aload 2 /* annotation */
            invokeinterface org.springframework.cache.annotation.CacheConfig.cacheResolver:()Ljava/lang/String;
            putfield org.springframework.cache.annotation.SpringCacheAnnotationParser$DefaultCacheConfig.cacheResolver:Ljava/lang/String;
         7: .line 267
      StackMap locals: org.springframework.cache.annotation.CacheConfig
      StackMap stack:
            aload 0 /* this */
            iconst_1
            putfield org.springframework.cache.annotation.SpringCacheAnnotationParser$DefaultCacheConfig.initialized:Z
        end local 2 // org.springframework.cache.annotation.CacheConfig annotation
         8: .line 270
      StackMap locals:
      StackMap stack:
            aload 1 /* builder */
            invokevirtual org.springframework.cache.interceptor.CacheOperation$Builder.getCacheNames:()Ljava/util/Set;
            invokeinterface java.util.Set.isEmpty:()Z
            ifeq 10
            aload 0 /* this */
            getfield org.springframework.cache.annotation.SpringCacheAnnotationParser$DefaultCacheConfig.cacheNames:[Ljava/lang/String;
            ifnull 10
         9: .line 271
            aload 1 /* builder */
            aload 0 /* this */
            getfield org.springframework.cache.annotation.SpringCacheAnnotationParser$DefaultCacheConfig.cacheNames:[Ljava/lang/String;
            invokevirtual org.springframework.cache.interceptor.CacheOperation$Builder.setCacheNames:([Ljava/lang/String;)V
        10: .line 273
      StackMap locals:
      StackMap stack:
            aload 1 /* builder */
            invokevirtual org.springframework.cache.interceptor.CacheOperation$Builder.getKey:()Ljava/lang/String;
            invokestatic org.springframework.util.StringUtils.hasText:(Ljava/lang/String;)Z
            ifne 13
            aload 1 /* builder */
            invokevirtual org.springframework.cache.interceptor.CacheOperation$Builder.getKeyGenerator:()Ljava/lang/String;
            invokestatic org.springframework.util.StringUtils.hasText:(Ljava/lang/String;)Z
            ifne 13
        11: .line 274
            aload 0 /* this */
            getfield org.springframework.cache.annotation.SpringCacheAnnotationParser$DefaultCacheConfig.keyGenerator:Ljava/lang/String;
            invokestatic org.springframework.util.StringUtils.hasText:(Ljava/lang/String;)Z
            ifeq 13
        12: .line 275
            aload 1 /* builder */
            aload 0 /* this */
            getfield org.springframework.cache.annotation.SpringCacheAnnotationParser$DefaultCacheConfig.keyGenerator:Ljava/lang/String;
            invokevirtual org.springframework.cache.interceptor.CacheOperation$Builder.setKeyGenerator:(Ljava/lang/String;)V
        13: .line 278
      StackMap locals:
      StackMap stack:
            aload 1 /* builder */
            invokevirtual org.springframework.cache.interceptor.CacheOperation$Builder.getCacheManager:()Ljava/lang/String;
            invokestatic org.springframework.util.StringUtils.hasText:(Ljava/lang/String;)Z
            ifne 19
            aload 1 /* builder */
            invokevirtual org.springframework.cache.interceptor.CacheOperation$Builder.getCacheResolver:()Ljava/lang/String;
            invokestatic org.springframework.util.StringUtils.hasText:(Ljava/lang/String;)Z
            ifne 19
        14: .line 281
            aload 0 /* this */
            getfield org.springframework.cache.annotation.SpringCacheAnnotationParser$DefaultCacheConfig.cacheResolver:Ljava/lang/String;
            invokestatic org.springframework.util.StringUtils.hasText:(Ljava/lang/String;)Z
            ifeq 17
        15: .line 282
            aload 1 /* builder */
            aload 0 /* this */
            getfield org.springframework.cache.annotation.SpringCacheAnnotationParser$DefaultCacheConfig.cacheResolver:Ljava/lang/String;
            invokevirtual org.springframework.cache.interceptor.CacheOperation$Builder.setCacheResolver:(Ljava/lang/String;)V
        16: .line 283
            goto 19
        17: .line 284
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.springframework.cache.annotation.SpringCacheAnnotationParser$DefaultCacheConfig.cacheManager:Ljava/lang/String;
            invokestatic org.springframework.util.StringUtils.hasText:(Ljava/lang/String;)Z
            ifeq 19
        18: .line 285
            aload 1 /* builder */
            aload 0 /* this */
            getfield org.springframework.cache.annotation.SpringCacheAnnotationParser$DefaultCacheConfig.cacheManager:Ljava/lang/String;
            invokevirtual org.springframework.cache.interceptor.CacheOperation$Builder.setCacheManager:(Ljava/lang/String;)V
        19: .line 287
      StackMap locals:
      StackMap stack:
            return
        end local 1 // org.springframework.cache.interceptor.CacheOperation$Builder builder
        end local 0 // org.springframework.cache.annotation.SpringCacheAnnotationParser$DefaultCacheConfig this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   20     0        this  Lorg/springframework/cache/annotation/SpringCacheAnnotationParser$DefaultCacheConfig;
            0   20     1     builder  Lorg/springframework/cache/interceptor/CacheOperation$Builder;
            2    8     2  annotation  Lorg/springframework/cache/annotation/CacheConfig;
    MethodParameters:
         Name  Flags
      builder  
}
SourceFile: "SpringCacheAnnotationParser.java"
NestHost: org.springframework.cache.annotation.SpringCacheAnnotationParser
InnerClasses:
  private DefaultCacheConfig = org.springframework.cache.annotation.SpringCacheAnnotationParser$DefaultCacheConfig of org.springframework.cache.annotation.SpringCacheAnnotationParser
  public abstract Builder = org.springframework.cache.interceptor.CacheOperation$Builder of org.springframework.cache.interceptor.CacheOperation