public class org.springframework.util.SimpleRouteMatcher implements org.springframework.util.RouteMatcher
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.springframework.util.SimpleRouteMatcher
  super_class: java.lang.Object
{
  private final org.springframework.util.PathMatcher pathMatcher;
    descriptor: Lorg/springframework/util/PathMatcher;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  public void <init>(org.springframework.util.PathMatcher);
    descriptor: (Lorg/springframework/util/PathMatcher;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.springframework.util.SimpleRouteMatcher this
        start local 1 // org.springframework.util.PathMatcher pathMatcher
         0: .line 44
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 45
            aload 1 /* pathMatcher */
            ldc "PathMatcher is required"
            invokestatic org.springframework.util.Assert.notNull:(Ljava/lang/Object;Ljava/lang/String;)V
         2: .line 46
            aload 0 /* this */
            aload 1 /* pathMatcher */
            putfield org.springframework.util.SimpleRouteMatcher.pathMatcher:Lorg/springframework/util/PathMatcher;
         3: .line 47
            return
        end local 1 // org.springframework.util.PathMatcher pathMatcher
        end local 0 // org.springframework.util.SimpleRouteMatcher this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    4     0         this  Lorg/springframework/util/SimpleRouteMatcher;
            0    4     1  pathMatcher  Lorg/springframework/util/PathMatcher;
    MethodParameters:
             Name  Flags
      pathMatcher  

  public org.springframework.util.PathMatcher getPathMatcher();
    descriptor: ()Lorg/springframework/util/PathMatcher;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.springframework.util.SimpleRouteMatcher this
         0: .line 53
            aload 0 /* this */
            getfield org.springframework.util.SimpleRouteMatcher.pathMatcher:Lorg/springframework/util/PathMatcher;
            areturn
        end local 0 // org.springframework.util.SimpleRouteMatcher this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/springframework/util/SimpleRouteMatcher;

  public org.springframework.util.RouteMatcher$Route parseRoute(java.lang.String);
    descriptor: (Ljava/lang/String;)Lorg/springframework/util/RouteMatcher$Route;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.springframework.util.SimpleRouteMatcher this
        start local 1 // java.lang.String route
         0: .line 59
            new org.springframework.util.SimpleRouteMatcher$DefaultRoute
            dup
            aload 1 /* route */
            invokespecial org.springframework.util.SimpleRouteMatcher$DefaultRoute.<init>:(Ljava/lang/String;)V
            areturn
        end local 1 // java.lang.String route
        end local 0 // org.springframework.util.SimpleRouteMatcher this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0   this  Lorg/springframework/util/SimpleRouteMatcher;
            0    1     1  route  Ljava/lang/String;
    MethodParameters:
       Name  Flags
      route  

  public boolean isPattern(java.lang.String);
    descriptor: (Ljava/lang/String;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.springframework.util.SimpleRouteMatcher this
        start local 1 // java.lang.String route
         0: .line 64
            aload 0 /* this */
            getfield org.springframework.util.SimpleRouteMatcher.pathMatcher:Lorg/springframework/util/PathMatcher;
            aload 1 /* route */
            invokeinterface org.springframework.util.PathMatcher.isPattern:(Ljava/lang/String;)Z
            ireturn
        end local 1 // java.lang.String route
        end local 0 // org.springframework.util.SimpleRouteMatcher this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0   this  Lorg/springframework/util/SimpleRouteMatcher;
            0    1     1  route  Ljava/lang/String;
    MethodParameters:
       Name  Flags
      route  

  public java.lang.String combine(java.lang.String, java.lang.String);
    descriptor: (Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // org.springframework.util.SimpleRouteMatcher this
        start local 1 // java.lang.String pattern1
        start local 2 // java.lang.String pattern2
         0: .line 69
            aload 0 /* this */
            getfield org.springframework.util.SimpleRouteMatcher.pathMatcher:Lorg/springframework/util/PathMatcher;
            aload 1 /* pattern1 */
            aload 2 /* pattern2 */
            invokeinterface org.springframework.util.PathMatcher.combine:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
            areturn
        end local 2 // java.lang.String pattern2
        end local 1 // java.lang.String pattern1
        end local 0 // org.springframework.util.SimpleRouteMatcher this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    1     0      this  Lorg/springframework/util/SimpleRouteMatcher;
            0    1     1  pattern1  Ljava/lang/String;
            0    1     2  pattern2  Ljava/lang/String;
    MethodParameters:
          Name  Flags
      pattern1  
      pattern2  

  public boolean match(java.lang.String, org.springframework.util.RouteMatcher$Route);
    descriptor: (Ljava/lang/String;Lorg/springframework/util/RouteMatcher$Route;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // org.springframework.util.SimpleRouteMatcher this
        start local 1 // java.lang.String pattern
        start local 2 // org.springframework.util.RouteMatcher$Route route
         0: .line 74
            aload 0 /* this */
            getfield org.springframework.util.SimpleRouteMatcher.pathMatcher:Lorg/springframework/util/PathMatcher;
            aload 1 /* pattern */
            aload 2 /* route */
            invokeinterface org.springframework.util.RouteMatcher$Route.value:()Ljava/lang/String;
            invokeinterface org.springframework.util.PathMatcher.match:(Ljava/lang/String;Ljava/lang/String;)Z
            ireturn
        end local 2 // org.springframework.util.RouteMatcher$Route route
        end local 1 // java.lang.String pattern
        end local 0 // org.springframework.util.SimpleRouteMatcher this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0     this  Lorg/springframework/util/SimpleRouteMatcher;
            0    1     1  pattern  Ljava/lang/String;
            0    1     2    route  Lorg/springframework/util/RouteMatcher$Route;
    MethodParameters:
         Name  Flags
      pattern  
      route    

  public java.util.Map<java.lang.String, java.lang.String> matchAndExtract(java.lang.String, org.springframework.util.RouteMatcher$Route);
    descriptor: (Ljava/lang/String;Lorg/springframework/util/RouteMatcher$Route;)Ljava/util/Map;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // org.springframework.util.SimpleRouteMatcher this
        start local 1 // java.lang.String pattern
        start local 2 // org.springframework.util.RouteMatcher$Route route
         0: .line 80
            aload 0 /* this */
            aload 1 /* pattern */
            aload 2 /* route */
            invokevirtual org.springframework.util.SimpleRouteMatcher.match:(Ljava/lang/String;Lorg/springframework/util/RouteMatcher$Route;)Z
            ifne 2
         1: .line 81
            aconst_null
            areturn
         2: .line 83
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.springframework.util.SimpleRouteMatcher.pathMatcher:Lorg/springframework/util/PathMatcher;
            aload 1 /* pattern */
            aload 2 /* route */
            invokeinterface org.springframework.util.RouteMatcher$Route.value:()Ljava/lang/String;
            invokeinterface org.springframework.util.PathMatcher.extractUriTemplateVariables:(Ljava/lang/String;Ljava/lang/String;)Ljava/util/Map;
            areturn
        end local 2 // org.springframework.util.RouteMatcher$Route route
        end local 1 // java.lang.String pattern
        end local 0 // org.springframework.util.SimpleRouteMatcher this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    3     0     this  Lorg/springframework/util/SimpleRouteMatcher;
            0    3     1  pattern  Ljava/lang/String;
            0    3     2    route  Lorg/springframework/util/RouteMatcher$Route;
    Signature: (Ljava/lang/String;Lorg/springframework/util/RouteMatcher$Route;)Ljava/util/Map<Ljava/lang/String;Ljava/lang/String;>;
    RuntimeVisibleAnnotations: 
      org.springframework.lang.Nullable()
    MethodParameters:
         Name  Flags
      pattern  
      route    

  public java.util.Comparator<java.lang.String> getPatternComparator(org.springframework.util.RouteMatcher$Route);
    descriptor: (Lorg/springframework/util/RouteMatcher$Route;)Ljava/util/Comparator;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.springframework.util.SimpleRouteMatcher this
        start local 1 // org.springframework.util.RouteMatcher$Route route
         0: .line 88
            aload 0 /* this */
            getfield org.springframework.util.SimpleRouteMatcher.pathMatcher:Lorg/springframework/util/PathMatcher;
            aload 1 /* route */
            invokeinterface org.springframework.util.RouteMatcher$Route.value:()Ljava/lang/String;
            invokeinterface org.springframework.util.PathMatcher.getPatternComparator:(Ljava/lang/String;)Ljava/util/Comparator;
            areturn
        end local 1 // org.springframework.util.RouteMatcher$Route route
        end local 0 // org.springframework.util.SimpleRouteMatcher this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0   this  Lorg/springframework/util/SimpleRouteMatcher;
            0    1     1  route  Lorg/springframework/util/RouteMatcher$Route;
    Signature: (Lorg/springframework/util/RouteMatcher$Route;)Ljava/util/Comparator<Ljava/lang/String;>;
    MethodParameters:
       Name  Flags
      route  
}
SourceFile: "SimpleRouteMatcher.java"
NestMembers:
  org.springframework.util.SimpleRouteMatcher$DefaultRoute
InnerClasses:
  public abstract Route = org.springframework.util.RouteMatcher$Route of org.springframework.util.RouteMatcher
  private DefaultRoute = org.springframework.util.SimpleRouteMatcher$DefaultRoute of org.springframework.util.SimpleRouteMatcher