class io.micronaut.web.router.DefaultFilterRoute implements io.micronaut.web.router.FilterRoute
  minor version: 0
  major version: 59
  flags: flags: (0x0020) ACC_SUPER
  this_class: io.micronaut.web.router.DefaultFilterRoute
  super_class: java.lang.Object
{
  private final java.util.List<java.lang.String> patterns;
    descriptor: Ljava/util/List;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Ljava/util/List<Ljava/lang/String;>;

  private final java.util.function.Supplier<io.micronaut.http.filter.HttpFilter> filterSupplier;
    descriptor: Ljava/util/function/Supplier;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Ljava/util/function/Supplier<Lio/micronaut/http/filter/HttpFilter;>;

  private final io.micronaut.core.annotation.AnnotationMetadataResolver annotationMetadataResolver;
    descriptor: Lio/micronaut/core/annotation/AnnotationMetadataResolver;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private java.util.Set<io.micronaut.http.HttpMethod> httpMethods;
    descriptor: Ljava/util/Set;
    flags: (0x0002) ACC_PRIVATE
    Signature: Ljava/util/Set<Lio/micronaut/http/HttpMethod;>;

  private io.micronaut.http.filter.HttpFilter filter;
    descriptor: Lio/micronaut/http/filter/HttpFilter;
    flags: (0x0002) ACC_PRIVATE

  private io.micronaut.core.annotation.AnnotationMetadata annotationMetadata;
    descriptor: Lio/micronaut/core/annotation/AnnotationMetadata;
    flags: (0x0002) ACC_PRIVATE

  void <init>(java.lang.String, java.util.function.Supplier<io.micronaut.http.filter.HttpFilter>, io.micronaut.core.annotation.AnnotationMetadataResolver);
    descriptor: (Ljava/lang/String;Ljava/util/function/Supplier;Lio/micronaut/core/annotation/AnnotationMetadataResolver;)V
    flags: (0x0000) 
    Code:
      stack=4, locals=4, args_size=4
        start local 0 // io.micronaut.web.router.DefaultFilterRoute this
        start local 1 // java.lang.String pattern
        start local 2 // java.util.function.Supplier filter
        start local 3 // io.micronaut.core.annotation.AnnotationMetadataResolver annotationMetadataResolver
         0: .line 55
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 43
            aload 0 /* this */
            new java.util.ArrayList
            dup
            iconst_1
            invokespecial java.util.ArrayList.<init>:(I)V
            putfield io.micronaut.web.router.DefaultFilterRoute.patterns:Ljava/util/List;
         2: .line 56
            aload 1 /* pattern */
            ldc "Pattern argument is required"
            invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Object;
            pop
         3: .line 57
            aload 1 /* pattern */
            ldc "HttpFilter argument is required"
            invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Object;
            pop
         4: .line 58
            aload 0 /* this */
            aload 2 /* filter */
            putfield io.micronaut.web.router.DefaultFilterRoute.filterSupplier:Ljava/util/function/Supplier;
         5: .line 59
            aload 0 /* this */
            getfield io.micronaut.web.router.DefaultFilterRoute.patterns:Ljava/util/List;
            aload 1 /* pattern */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
         6: .line 60
            aload 0 /* this */
            aload 3 /* annotationMetadataResolver */
            putfield io.micronaut.web.router.DefaultFilterRoute.annotationMetadataResolver:Lio/micronaut/core/annotation/AnnotationMetadataResolver;
         7: .line 61
            return
        end local 3 // io.micronaut.core.annotation.AnnotationMetadataResolver annotationMetadataResolver
        end local 2 // java.util.function.Supplier filter
        end local 1 // java.lang.String pattern
        end local 0 // io.micronaut.web.router.DefaultFilterRoute this
      LocalVariableTable:
        Start  End  Slot                        Name  Signature
            0    8     0                        this  Lio/micronaut/web/router/DefaultFilterRoute;
            0    8     1                     pattern  Ljava/lang/String;
            0    8     2                      filter  Ljava/util/function/Supplier<Lio/micronaut/http/filter/HttpFilter;>;
            0    8     3  annotationMetadataResolver  Lio/micronaut/core/annotation/AnnotationMetadataResolver;
    Signature: (Ljava/lang/String;Ljava/util/function/Supplier<Lio/micronaut/http/filter/HttpFilter;>;Lio/micronaut/core/annotation/AnnotationMetadataResolver;)V
    MethodParameters:
                            Name  Flags
      pattern                     
      filter                      
      annotationMetadataResolver  

  void <init>(java.lang.String, java.util.function.Supplier<io.micronaut.http.filter.HttpFilter>);
    descriptor: (Ljava/lang/String;Ljava/util/function/Supplier;)V
    flags: (0x0000) 
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // io.micronaut.web.router.DefaultFilterRoute this
        start local 1 // java.lang.String pattern
        start local 2 // java.util.function.Supplier filter
         0: .line 68
            aload 0 /* this */
            aload 1 /* pattern */
            aload 2 /* filter */
            getstatic io.micronaut.core.annotation.AnnotationMetadataResolver.DEFAULT:Lio/micronaut/core/annotation/AnnotationMetadataResolver;
            invokespecial io.micronaut.web.router.DefaultFilterRoute.<init>:(Ljava/lang/String;Ljava/util/function/Supplier;Lio/micronaut/core/annotation/AnnotationMetadataResolver;)V
         1: .line 69
            return
        end local 2 // java.util.function.Supplier filter
        end local 1 // java.lang.String pattern
        end local 0 // io.micronaut.web.router.DefaultFilterRoute this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    2     0     this  Lio/micronaut/web/router/DefaultFilterRoute;
            0    2     1  pattern  Ljava/lang/String;
            0    2     2   filter  Ljava/util/function/Supplier<Lio/micronaut/http/filter/HttpFilter;>;
    Signature: (Ljava/lang/String;Ljava/util/function/Supplier<Lio/micronaut/http/filter/HttpFilter;>;)V
    MethodParameters:
         Name  Flags
      pattern  
      filter   

  public io.micronaut.core.annotation.AnnotationMetadata getAnnotationMetadata();
    descriptor: ()Lio/micronaut/core/annotation/AnnotationMetadata;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=1
        start local 0 // io.micronaut.web.router.DefaultFilterRoute this
         0: .line 74
            aload 0 /* this */
            getfield io.micronaut.web.router.DefaultFilterRoute.annotationMetadata:Lio/micronaut/core/annotation/AnnotationMetadata;
            astore 1 /* annotationMetadata */
        start local 1 // io.micronaut.core.annotation.AnnotationMetadata annotationMetadata
         1: .line 75
            aload 1 /* annotationMetadata */
            ifnonnull 11
         2: .line 76
            aload 0 /* this */
            dup
            astore 2
            monitorenter
         3: .line 77
            aload 0 /* this */
            getfield io.micronaut.web.router.DefaultFilterRoute.annotationMetadata:Lio/micronaut/core/annotation/AnnotationMetadata;
            astore 1 /* annotationMetadata */
         4: .line 78
            aload 1 /* annotationMetadata */
            ifnonnull 7
         5: .line 79
            aload 0 /* this */
            getfield io.micronaut.web.router.DefaultFilterRoute.annotationMetadataResolver:Lio/micronaut/core/annotation/AnnotationMetadataResolver;
            aload 0 /* this */
            invokevirtual io.micronaut.web.router.DefaultFilterRoute.getFilter:()Lio/micronaut/http/filter/HttpFilter;
            invokeinterface io.micronaut.core.annotation.AnnotationMetadataResolver.resolveMetadata:(Ljava/lang/Object;)Lio/micronaut/core/annotation/AnnotationMetadata;
            astore 1 /* annotationMetadata */
         6: .line 80
            aload 0 /* this */
            aload 1 /* annotationMetadata */
            putfield io.micronaut.web.router.DefaultFilterRoute.annotationMetadata:Lio/micronaut/core/annotation/AnnotationMetadata;
         7: .line 76
      StackMap locals: io.micronaut.core.annotation.AnnotationMetadata io.micronaut.web.router.DefaultFilterRoute
      StackMap stack:
            aload 2
            monitorexit
         8: goto 11
      StackMap locals:
      StackMap stack: java.lang.Throwable
         9: aload 2
            monitorexit
        10: athrow
        11: .line 84
      StackMap locals:
      StackMap stack:
            aload 1 /* annotationMetadata */
            areturn
        end local 1 // io.micronaut.core.annotation.AnnotationMetadata annotationMetadata
        end local 0 // io.micronaut.web.router.DefaultFilterRoute this
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0   12     0                this  Lio/micronaut/web/router/DefaultFilterRoute;
            1   12     1  annotationMetadata  Lio/micronaut/core/annotation/AnnotationMetadata;
      Exception table:
        from    to  target  type
           3     8       9  any
           9    10       9  any
    RuntimeInvisibleAnnotations: 
      edu.umd.cs.findbugs.annotations.NonNull()

  public io.micronaut.http.filter.HttpFilter getFilter();
    descriptor: ()Lio/micronaut/http/filter/HttpFilter;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=1
        start local 0 // io.micronaut.web.router.DefaultFilterRoute this
         0: .line 89
            aload 0 /* this */
            getfield io.micronaut.web.router.DefaultFilterRoute.filter:Lio/micronaut/http/filter/HttpFilter;
            astore 1 /* filter */
        start local 1 // io.micronaut.http.filter.HttpFilter filter
         1: .line 90
            aload 1 /* filter */
            ifnonnull 11
         2: .line 91
            aload 0 /* this */
            dup
            astore 2
            monitorenter
         3: .line 92
            aload 0 /* this */
            getfield io.micronaut.web.router.DefaultFilterRoute.filter:Lio/micronaut/http/filter/HttpFilter;
            astore 1 /* filter */
         4: .line 93
            aload 1 /* filter */
            ifnonnull 7
         5: .line 94
            aload 0 /* this */
            getfield io.micronaut.web.router.DefaultFilterRoute.filterSupplier:Ljava/util/function/Supplier;
            invokeinterface java.util.function.Supplier.get:()Ljava/lang/Object;
            checkcast io.micronaut.http.filter.HttpFilter
            astore 1 /* filter */
         6: .line 95
            aload 0 /* this */
            aload 1 /* filter */
            putfield io.micronaut.web.router.DefaultFilterRoute.filter:Lio/micronaut/http/filter/HttpFilter;
         7: .line 91
      StackMap locals: io.micronaut.http.filter.HttpFilter io.micronaut.web.router.DefaultFilterRoute
      StackMap stack:
            aload 2
            monitorexit
         8: goto 11
      StackMap locals:
      StackMap stack: java.lang.Throwable
         9: aload 2
            monitorexit
        10: athrow
        11: .line 99
      StackMap locals:
      StackMap stack:
            aload 1 /* filter */
            areturn
        end local 1 // io.micronaut.http.filter.HttpFilter filter
        end local 0 // io.micronaut.web.router.DefaultFilterRoute this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   12     0    this  Lio/micronaut/web/router/DefaultFilterRoute;
            1   12     1  filter  Lio/micronaut/http/filter/HttpFilter;
      Exception table:
        from    to  target  type
           3     8       9  any
           9    10       9  any

  public java.util.Set<io.micronaut.http.HttpMethod> getFilterMethods();
    descriptor: ()Ljava/util/Set;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // io.micronaut.web.router.DefaultFilterRoute this
         0: .line 105
            aload 0 /* this */
            getfield io.micronaut.web.router.DefaultFilterRoute.httpMethods:Ljava/util/Set;
            areturn
        end local 0 // io.micronaut.web.router.DefaultFilterRoute this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/micronaut/web/router/DefaultFilterRoute;
    Signature: ()Ljava/util/Set<Lio/micronaut/http/HttpMethod;>;
    RuntimeInvisibleAnnotations: 
      edu.umd.cs.findbugs.annotations.NonNull()

  public java.lang.String[] getPatterns();
    descriptor: ()[Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // io.micronaut.web.router.DefaultFilterRoute this
         0: .line 111
            aload 0 /* this */
            getfield io.micronaut.web.router.DefaultFilterRoute.patterns:Ljava/util/List;
            getstatic io.micronaut.core.util.StringUtils.EMPTY_STRING_ARRAY:[Ljava/lang/String;
            invokeinterface java.util.List.toArray:([Ljava/lang/Object;)[Ljava/lang/Object;
            checkcast java.lang.String[]
            areturn
        end local 0 // io.micronaut.web.router.DefaultFilterRoute this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/micronaut/web/router/DefaultFilterRoute;
    RuntimeInvisibleAnnotations: 
      edu.umd.cs.findbugs.annotations.NonNull()

  public java.util.Optional<io.micronaut.http.filter.HttpFilter> match(io.micronaut.http.HttpMethod, java.net.URI);
    descriptor: (Lio/micronaut/http/HttpMethod;Ljava/net/URI;)Ljava/util/Optional;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=8, args_size=3
        start local 0 // io.micronaut.web.router.DefaultFilterRoute this
        start local 1 // io.micronaut.http.HttpMethod method
        start local 2 // java.net.URI uri
         0: .line 116
            aload 0 /* this */
            getfield io.micronaut.web.router.DefaultFilterRoute.httpMethods:Ljava/util/Set;
            ifnull 2
            aload 0 /* this */
            getfield io.micronaut.web.router.DefaultFilterRoute.httpMethods:Ljava/util/Set;
            aload 1 /* method */
            invokeinterface java.util.Set.contains:(Ljava/lang/Object;)Z
            ifne 2
         1: .line 117
            invokestatic java.util.Optional.empty:()Ljava/util/Optional;
            areturn
         2: .line 119
      StackMap locals:
      StackMap stack:
            aload 2 /* uri */
            invokevirtual java.net.URI.getPath:()Ljava/lang/String;
            astore 3 /* uriStr */
        start local 3 // java.lang.String uriStr
         3: .line 120
            getstatic io.micronaut.core.util.PathMatcher.ANT:Lio/micronaut/core/util/AntPathMatcher;
            astore 4 /* matcher */
        start local 4 // io.micronaut.core.util.AntPathMatcher matcher
         4: .line 121
            aload 0 /* this */
            getfield io.micronaut.web.router.DefaultFilterRoute.patterns:Ljava/util/List;
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 6
            goto 11
      StackMap locals: io.micronaut.web.router.DefaultFilterRoute io.micronaut.http.HttpMethod java.net.URI java.lang.String io.micronaut.core.util.AntPathMatcher top java.util.Iterator
      StackMap stack:
         5: aload 6
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.lang.String
            astore 5 /* pattern */
        start local 5 // java.lang.String pattern
         6: .line 122
            aload 4 /* matcher */
            aload 5 /* pattern */
            aload 3 /* uriStr */
            invokevirtual io.micronaut.core.util.AntPathMatcher.matches:(Ljava/lang/String;Ljava/lang/String;)Z
            ifeq 11
         7: .line 123
            aload 0 /* this */
            invokevirtual io.micronaut.web.router.DefaultFilterRoute.getFilter:()Lio/micronaut/http/filter/HttpFilter;
            astore 7 /* filter */
        start local 7 // io.micronaut.http.filter.HttpFilter filter
         8: .line 124
            aload 7 /* filter */
            instanceof io.micronaut.core.util.Toggleable
            ifeq 10
            aload 7 /* filter */
            checkcast io.micronaut.core.util.Toggleable
            invokeinterface io.micronaut.core.util.Toggleable.isEnabled:()Z
            ifne 10
         9: .line 125
            invokestatic java.util.Optional.empty:()Ljava/util/Optional;
            areturn
        10: .line 127
      StackMap locals: io.micronaut.web.router.DefaultFilterRoute io.micronaut.http.HttpMethod java.net.URI java.lang.String io.micronaut.core.util.AntPathMatcher java.lang.String java.util.Iterator io.micronaut.http.filter.HttpFilter
      StackMap stack:
            aload 7 /* filter */
            invokestatic java.util.Optional.of:(Ljava/lang/Object;)Ljava/util/Optional;
            areturn
        end local 7 // io.micronaut.http.filter.HttpFilter filter
        end local 5 // java.lang.String pattern
        11: .line 121
      StackMap locals: io.micronaut.web.router.DefaultFilterRoute io.micronaut.http.HttpMethod java.net.URI java.lang.String io.micronaut.core.util.AntPathMatcher top java.util.Iterator
      StackMap stack:
            aload 6
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 5
        12: .line 130
            invokestatic java.util.Optional.empty:()Ljava/util/Optional;
            areturn
        end local 4 // io.micronaut.core.util.AntPathMatcher matcher
        end local 3 // java.lang.String uriStr
        end local 2 // java.net.URI uri
        end local 1 // io.micronaut.http.HttpMethod method
        end local 0 // io.micronaut.web.router.DefaultFilterRoute this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   13     0     this  Lio/micronaut/web/router/DefaultFilterRoute;
            0   13     1   method  Lio/micronaut/http/HttpMethod;
            0   13     2      uri  Ljava/net/URI;
            3   13     3   uriStr  Ljava/lang/String;
            4   13     4  matcher  Lio/micronaut/core/util/AntPathMatcher;
            6   11     5  pattern  Ljava/lang/String;
            8   11     7   filter  Lio/micronaut/http/filter/HttpFilter;
    Signature: (Lio/micronaut/http/HttpMethod;Ljava/net/URI;)Ljava/util/Optional<Lio/micronaut/http/filter/HttpFilter;>;
    MethodParameters:
        Name  Flags
      method  
      uri     

  public io.micronaut.web.router.FilterRoute pattern(java.lang.String);
    descriptor: (Ljava/lang/String;)Lio/micronaut/web/router/FilterRoute;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // io.micronaut.web.router.DefaultFilterRoute this
        start local 1 // java.lang.String pattern
         0: .line 135
            aload 1 /* pattern */
            invokestatic io.micronaut.core.util.StringUtils.isNotEmpty:(Ljava/lang/CharSequence;)Z
            ifeq 2
         1: .line 136
            aload 0 /* this */
            getfield io.micronaut.web.router.DefaultFilterRoute.patterns:Ljava/util/List;
            aload 1 /* pattern */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
         2: .line 138
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            areturn
        end local 1 // java.lang.String pattern
        end local 0 // io.micronaut.web.router.DefaultFilterRoute this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    3     0     this  Lio/micronaut/web/router/DefaultFilterRoute;
            0    3     1  pattern  Ljava/lang/String;
    MethodParameters:
         Name  Flags
      pattern  

  public io.micronaut.web.router.FilterRoute methods(io.micronaut.http.HttpMethod[]);
    descriptor: ([Lio/micronaut/http/HttpMethod;)Lio/micronaut/web/router/FilterRoute;
    flags: (0x0081) ACC_PUBLIC, ACC_VARARGS
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // io.micronaut.web.router.DefaultFilterRoute this
        start local 1 // io.micronaut.http.HttpMethod[] methods
         0: .line 143
            aload 1 /* methods */
            invokestatic io.micronaut.core.util.ArrayUtils.isNotEmpty:([Ljava/lang/Object;)Z
            ifeq 4
         1: .line 144
            aload 0 /* this */
            getfield io.micronaut.web.router.DefaultFilterRoute.httpMethods:Ljava/util/Set;
            ifnonnull 3
         2: .line 145
            aload 0 /* this */
            new java.util.HashSet
            dup
            invokespecial java.util.HashSet.<init>:()V
            putfield io.micronaut.web.router.DefaultFilterRoute.httpMethods:Ljava/util/Set;
         3: .line 147
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield io.micronaut.web.router.DefaultFilterRoute.httpMethods:Ljava/util/Set;
            aload 1 /* methods */
            invokestatic java.util.Arrays.asList:([Ljava/lang/Object;)Ljava/util/List;
            invokeinterface java.util.Set.addAll:(Ljava/util/Collection;)Z
            pop
         4: .line 149
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            areturn
        end local 1 // io.micronaut.http.HttpMethod[] methods
        end local 0 // io.micronaut.web.router.DefaultFilterRoute this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    5     0     this  Lio/micronaut/web/router/DefaultFilterRoute;
            0    5     1  methods  [Lio/micronaut/http/HttpMethod;
    MethodParameters:
         Name  Flags
      methods  

  public java.lang.Object getFilter();
    descriptor: ()Ljava/lang/Object;
    flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
    Code:
      stack=1, locals=1, args_size=1
         0: .line 1
            aload 0
            invokevirtual io.micronaut.web.router.DefaultFilterRoute.getFilter:()Lio/micronaut/http/filter/HttpFilter;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature
}
SourceFile: "DefaultFilterRoute.java"