class org.springframework.web.servlet.function.RequestPredicates$PathExtensionPredicate implements org.springframework.web.servlet.function.RequestPredicate
  minor version: 0
  major version: 59
  flags: flags: (0x0020) ACC_SUPER
  this_class: org.springframework.web.servlet.function.RequestPredicates$PathExtensionPredicate
  super_class: java.lang.Object
{
  private final java.util.function.Predicate<java.lang.String> extensionPredicate;
    descriptor: Ljava/util/function/Predicate;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Ljava/util/function/Predicate<Ljava/lang/String;>;

  private final java.lang.String extension;
    descriptor: Ljava/lang/String;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    RuntimeVisibleAnnotations: 
      org.springframework.lang.Nullable()

  public void <init>(java.util.function.Predicate<java.lang.String>);
    descriptor: (Ljava/util/function/Predicate;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.springframework.web.servlet.function.RequestPredicates$PathExtensionPredicate this
        start local 1 // java.util.function.Predicate extensionPredicate
         0: .line 661
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 662
            aload 1 /* extensionPredicate */
            ldc "Predicate must not be null"
            invokestatic org.springframework.util.Assert.notNull:(Ljava/lang/Object;Ljava/lang/String;)V
         2: .line 663
            aload 0 /* this */
            aload 1 /* extensionPredicate */
            putfield org.springframework.web.servlet.function.RequestPredicates$PathExtensionPredicate.extensionPredicate:Ljava/util/function/Predicate;
         3: .line 664
            aload 0 /* this */
            aconst_null
            putfield org.springframework.web.servlet.function.RequestPredicates$PathExtensionPredicate.extension:Ljava/lang/String;
         4: .line 665
            return
        end local 1 // java.util.function.Predicate extensionPredicate
        end local 0 // org.springframework.web.servlet.function.RequestPredicates$PathExtensionPredicate this
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0    5     0                this  Lorg/springframework/web/servlet/function/RequestPredicates$PathExtensionPredicate;
            0    5     1  extensionPredicate  Ljava/util/function/Predicate<Ljava/lang/String;>;
    Signature: (Ljava/util/function/Predicate<Ljava/lang/String;>;)V
    MethodParameters:
                    Name  Flags
      extensionPredicate  

  public void <init>(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.web.servlet.function.RequestPredicates$PathExtensionPredicate this
        start local 1 // java.lang.String extension
         0: .line 667
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 668
            aload 1 /* extension */
            ldc "Extension must not be null"
            invokestatic org.springframework.util.Assert.notNull:(Ljava/lang/Object;Ljava/lang/String;)V
         2: .line 670
            aload 0 /* this */
            aload 1 /* extension */
            invokedynamic test(Ljava/lang/String;)Ljava/util/function/Predicate;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Ljava/lang/Object;)Z
                  org/springframework/web/servlet/function/RequestPredicates$PathExtensionPredicate.lambda$0(Ljava/lang/String;Ljava/lang/String;)Z (6)
                  (Ljava/lang/String;)Z
            putfield org.springframework.web.servlet.function.RequestPredicates$PathExtensionPredicate.extensionPredicate:Ljava/util/function/Predicate;
         3: .line 675
            aload 0 /* this */
            aload 1 /* extension */
            putfield org.springframework.web.servlet.function.RequestPredicates$PathExtensionPredicate.extension:Ljava/lang/String;
         4: .line 676
            return
        end local 1 // java.lang.String extension
        end local 0 // org.springframework.web.servlet.function.RequestPredicates$PathExtensionPredicate this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    5     0       this  Lorg/springframework/web/servlet/function/RequestPredicates$PathExtensionPredicate;
            0    5     1  extension  Ljava/lang/String;
    MethodParameters:
           Name  Flags
      extension  

  public boolean test(org.springframework.web.servlet.function.ServerRequest);
    descriptor: (Lorg/springframework/web/servlet/function/ServerRequest;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // org.springframework.web.servlet.function.RequestPredicates$PathExtensionPredicate this
        start local 1 // org.springframework.web.servlet.function.ServerRequest request
         0: .line 680
            aload 1 /* request */
            invokeinterface org.springframework.web.servlet.function.ServerRequest.path:()Ljava/lang/String;
            invokestatic org.springframework.web.util.UriUtils.extractFileExtension:(Ljava/lang/String;)Ljava/lang/String;
            astore 2 /* pathExtension */
        start local 2 // java.lang.String pathExtension
         1: .line 681
            aload 0 /* this */
            getfield org.springframework.web.servlet.function.RequestPredicates$PathExtensionPredicate.extensionPredicate:Ljava/util/function/Predicate;
            aload 2 /* pathExtension */
            invokeinterface java.util.function.Predicate.test:(Ljava/lang/Object;)Z
            ireturn
        end local 2 // java.lang.String pathExtension
        end local 1 // org.springframework.web.servlet.function.ServerRequest request
        end local 0 // org.springframework.web.servlet.function.RequestPredicates$PathExtensionPredicate this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    2     0           this  Lorg/springframework/web/servlet/function/RequestPredicates$PathExtensionPredicate;
            0    2     1        request  Lorg/springframework/web/servlet/function/ServerRequest;
            1    2     2  pathExtension  Ljava/lang/String;
    MethodParameters:
         Name  Flags
      request  

  public void accept(org.springframework.web.servlet.function.RequestPredicates$Visitor);
    descriptor: (Lorg/springframework/web/servlet/function/RequestPredicates$Visitor;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.springframework.web.servlet.function.RequestPredicates$PathExtensionPredicate this
        start local 1 // org.springframework.web.servlet.function.RequestPredicates$Visitor visitor
         0: .line 686
            aload 1 /* visitor */
         1: .line 687
            aload 0 /* this */
            getfield org.springframework.web.servlet.function.RequestPredicates$PathExtensionPredicate.extension:Ljava/lang/String;
            ifnull 3
         2: .line 688
            aload 0 /* this */
            getfield org.springframework.web.servlet.function.RequestPredicates$PathExtensionPredicate.extension:Ljava/lang/String;
            goto 4
         3: .line 689
      StackMap locals:
      StackMap stack: org.springframework.web.servlet.function.RequestPredicates$Visitor
            aload 0 /* this */
            getfield org.springframework.web.servlet.function.RequestPredicates$PathExtensionPredicate.extensionPredicate:Ljava/util/function/Predicate;
            invokevirtual java.lang.Object.toString:()Ljava/lang/String;
         4: .line 686
      StackMap locals: org.springframework.web.servlet.function.RequestPredicates$PathExtensionPredicate org.springframework.web.servlet.function.RequestPredicates$Visitor
      StackMap stack: org.springframework.web.servlet.function.RequestPredicates$Visitor java.lang.String
            invokeinterface org.springframework.web.servlet.function.RequestPredicates$Visitor.pathExtension:(Ljava/lang/String;)V
         5: .line 690
            return
        end local 1 // org.springframework.web.servlet.function.RequestPredicates$Visitor visitor
        end local 0 // org.springframework.web.servlet.function.RequestPredicates$PathExtensionPredicate this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    6     0     this  Lorg/springframework/web/servlet/function/RequestPredicates$PathExtensionPredicate;
            0    6     1  visitor  Lorg/springframework/web/servlet/function/RequestPredicates$Visitor;
    MethodParameters:
         Name  Flags
      visitor  

  public java.lang.String toString();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=1, args_size=1
        start local 0 // org.springframework.web.servlet.function.RequestPredicates$PathExtensionPredicate this
         0: .line 694
            ldc "*.%s"
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
         1: .line 695
            aload 0 /* this */
            getfield org.springframework.web.servlet.function.RequestPredicates$PathExtensionPredicate.extension:Ljava/lang/String;
            ifnull 3
         2: .line 696
            aload 0 /* this */
            getfield org.springframework.web.servlet.function.RequestPredicates$PathExtensionPredicate.extension:Ljava/lang/String;
            goto 4
         3: .line 697
      StackMap locals: org.springframework.web.servlet.function.RequestPredicates$PathExtensionPredicate
      StackMap stack: java.lang.String java.lang.Object[] java.lang.Object[] int
            aload 0 /* this */
            getfield org.springframework.web.servlet.function.RequestPredicates$PathExtensionPredicate.extensionPredicate:Ljava/util/function/Predicate;
      StackMap locals: org.springframework.web.servlet.function.RequestPredicates$PathExtensionPredicate
      StackMap stack: java.lang.String java.lang.Object[] java.lang.Object[] int java.lang.Object
         4: aastore
         5: .line 694
            invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
            areturn
        end local 0 // org.springframework.web.servlet.function.RequestPredicates$PathExtensionPredicate this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    6     0  this  Lorg/springframework/web/servlet/function/RequestPredicates$PathExtensionPredicate;

  private static boolean lambda$0(java.lang.String, java.lang.String);
    descriptor: (Ljava/lang/String;Ljava/lang/String;)Z
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=4, locals=3, args_size=2
        start local 1 // java.lang.String s
         0: .line 671
            aload 0
            aload 1 /* s */
            invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
            istore 2 /* match */
        start local 2 // boolean match
         1: .line 672
            ldc "Extension"
            aload 0
            aload 1 /* s */
            iload 2 /* match */
            invokestatic org.springframework.web.servlet.function.RequestPredicates.traceMatch:(Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;Z)V
         2: .line 673
            iload 2 /* match */
            ireturn
        end local 2 // boolean match
        end local 1 // java.lang.String s
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    3     1      s  Ljava/lang/String;
            1    3     2  match  Z
}
SourceFile: "RequestPredicates.java"
NestHost: org.springframework.web.servlet.function.RequestPredicates
InnerClasses:
  public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles
  private PathExtensionPredicate = org.springframework.web.servlet.function.RequestPredicates$PathExtensionPredicate of org.springframework.web.servlet.function.RequestPredicates
  public abstract Visitor = org.springframework.web.servlet.function.RequestPredicates$Visitor of org.springframework.web.servlet.function.RequestPredicates