public class org.springframework.web.accept.PathExtensionContentNegotiationStrategy extends org.springframework.web.accept.AbstractMappingContentNegotiationStrategy
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.springframework.web.accept.PathExtensionContentNegotiationStrategy
  super_class: org.springframework.web.accept.AbstractMappingContentNegotiationStrategy
{
  private org.springframework.web.util.UrlPathHelper urlPathHelper;
    descriptor: Lorg/springframework/web/util/UrlPathHelper;
    flags: (0x0002) ACC_PRIVATE

  public void <init>();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.springframework.web.accept.PathExtensionContentNegotiationStrategy this
         0: .line 59
            aload 0 /* this */
            aconst_null
            invokespecial org.springframework.web.accept.PathExtensionContentNegotiationStrategy.<init>:(Ljava/util/Map;)V
         1: .line 60
            return
        end local 0 // org.springframework.web.accept.PathExtensionContentNegotiationStrategy this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/springframework/web/accept/PathExtensionContentNegotiationStrategy;

  public void <init>(java.util.Map<java.lang.String, org.springframework.http.MediaType>);
    descriptor: (Ljava/util/Map;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.springframework.web.accept.PathExtensionContentNegotiationStrategy this
        start local 1 // java.util.Map mediaTypes
         0: .line 66
            aload 0 /* this */
            aload 1 /* mediaTypes */
            invokespecial org.springframework.web.accept.AbstractMappingContentNegotiationStrategy.<init>:(Ljava/util/Map;)V
         1: .line 51
            aload 0 /* this */
            new org.springframework.web.util.UrlPathHelper
            dup
            invokespecial org.springframework.web.util.UrlPathHelper.<init>:()V
            putfield org.springframework.web.accept.PathExtensionContentNegotiationStrategy.urlPathHelper:Lorg/springframework/web/util/UrlPathHelper;
         2: .line 67
            aload 0 /* this */
            iconst_0
            invokevirtual org.springframework.web.accept.PathExtensionContentNegotiationStrategy.setUseRegisteredExtensionsOnly:(Z)V
         3: .line 68
            aload 0 /* this */
            iconst_1
            invokevirtual org.springframework.web.accept.PathExtensionContentNegotiationStrategy.setIgnoreUnknownExtensions:(Z)V
         4: .line 69
            aload 0 /* this */
            getfield org.springframework.web.accept.PathExtensionContentNegotiationStrategy.urlPathHelper:Lorg/springframework/web/util/UrlPathHelper;
            iconst_0
            invokevirtual org.springframework.web.util.UrlPathHelper.setUrlDecode:(Z)V
         5: .line 70
            return
        end local 1 // java.util.Map mediaTypes
        end local 0 // org.springframework.web.accept.PathExtensionContentNegotiationStrategy this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    6     0        this  Lorg/springframework/web/accept/PathExtensionContentNegotiationStrategy;
            0    6     1  mediaTypes  Ljava/util/Map<Ljava/lang/String;Lorg/springframework/http/MediaType;>;
    Signature: (Ljava/util/Map<Ljava/lang/String;Lorg/springframework/http/MediaType;>;)V
    RuntimeVisibleParameterAnnotations: 
      0:
        org.springframework.lang.Nullable()
    MethodParameters:
            Name  Flags
      mediaTypes  

  public void setUrlPathHelper(org.springframework.web.util.UrlPathHelper);
    descriptor: (Lorg/springframework/web/util/UrlPathHelper;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.springframework.web.accept.PathExtensionContentNegotiationStrategy this
        start local 1 // org.springframework.web.util.UrlPathHelper urlPathHelper
         0: .line 79
            aload 0 /* this */
            aload 1 /* urlPathHelper */
            putfield org.springframework.web.accept.PathExtensionContentNegotiationStrategy.urlPathHelper:Lorg/springframework/web/util/UrlPathHelper;
         1: .line 80
            return
        end local 1 // org.springframework.web.util.UrlPathHelper urlPathHelper
        end local 0 // org.springframework.web.accept.PathExtensionContentNegotiationStrategy this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    2     0           this  Lorg/springframework/web/accept/PathExtensionContentNegotiationStrategy;
            0    2     1  urlPathHelper  Lorg/springframework/web/util/UrlPathHelper;
    MethodParameters:
               Name  Flags
      urlPathHelper  

  public void setUseJaf(boolean);
    descriptor: (Z)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.springframework.web.accept.PathExtensionContentNegotiationStrategy this
        start local 1 // boolean useJaf
         0: .line 89
            aload 0 /* this */
            iload 1 /* useJaf */
            ifeq 1
            iconst_0
            goto 2
      StackMap locals:
      StackMap stack: org.springframework.web.accept.PathExtensionContentNegotiationStrategy
         1: iconst_1
      StackMap locals: org.springframework.web.accept.PathExtensionContentNegotiationStrategy int
      StackMap stack: org.springframework.web.accept.PathExtensionContentNegotiationStrategy int
         2: invokevirtual org.springframework.web.accept.PathExtensionContentNegotiationStrategy.setUseRegisteredExtensionsOnly:(Z)V
         3: .line 90
            return
        end local 1 // boolean useJaf
        end local 0 // org.springframework.web.accept.PathExtensionContentNegotiationStrategy this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    4     0    this  Lorg/springframework/web/accept/PathExtensionContentNegotiationStrategy;
            0    4     1  useJaf  Z
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()
    MethodParameters:
        Name  Flags
      useJaf  

  protected java.lang.String getMediaTypeKey(org.springframework.web.context.request.NativeWebRequest);
    descriptor: (Lorg/springframework/web/context/request/NativeWebRequest;)Ljava/lang/String;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.springframework.web.accept.PathExtensionContentNegotiationStrategy this
         0: .line 95
            new java.lang.Error
            dup
            ldc "Unresolved compilation problems: \n\tHttpServletRequest cannot be resolved to a type\n\tType mismatch: cannot convert from HttpServletRequest to HttpServletRequest\n\tHttpServletRequest cannot be resolved to a type\n"
            invokespecial java.lang.Error.<init>:(Ljava/lang/String;)V
            athrow
        end local 0 // org.springframework.web.accept.PathExtensionContentNegotiationStrategy this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/springframework/web/accept/PathExtensionContentNegotiationStrategy;
    RuntimeVisibleAnnotations: 
      org.springframework.lang.Nullable()
    MethodParameters:
            Name  Flags
      webRequest  

  public org.springframework.http.MediaType getMediaTypeForResource(org.springframework.core.io.Resource);
    descriptor: (Lorg/springframework/core/io/Resource;)Lorg/springframework/http/MediaType;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=5, args_size=2
        start local 0 // org.springframework.web.accept.PathExtensionContentNegotiationStrategy this
        start local 1 // org.springframework.core.io.Resource resource
         0: .line 116
            aload 1 /* resource */
            ldc "Resource must not be null"
            invokestatic org.springframework.util.Assert.notNull:(Ljava/lang/Object;Ljava/lang/String;)V
         1: .line 117
            aconst_null
            astore 2 /* mediaType */
        start local 2 // org.springframework.http.MediaType mediaType
         2: .line 118
            aload 1 /* resource */
            invokeinterface org.springframework.core.io.Resource.getFilename:()Ljava/lang/String;
            astore 3 /* filename */
        start local 3 // java.lang.String filename
         3: .line 119
            aload 3 /* filename */
            invokestatic org.springframework.util.StringUtils.getFilenameExtension:(Ljava/lang/String;)Ljava/lang/String;
            astore 4 /* extension */
        start local 4 // java.lang.String extension
         4: .line 120
            aload 4 /* extension */
            ifnull 6
         5: .line 121
            aload 0 /* this */
            aload 4 /* extension */
            invokevirtual org.springframework.web.accept.PathExtensionContentNegotiationStrategy.lookupMediaType:(Ljava/lang/String;)Lorg/springframework/http/MediaType;
            astore 2 /* mediaType */
         6: .line 123
      StackMap locals: org.springframework.http.MediaType java.lang.String java.lang.String
      StackMap stack:
            aload 2 /* mediaType */
            ifnonnull 8
         7: .line 124
            aload 3 /* filename */
            invokestatic org.springframework.http.MediaTypeFactory.getMediaType:(Ljava/lang/String;)Ljava/util/Optional;
            aconst_null
            invokevirtual java.util.Optional.orElse:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast org.springframework.http.MediaType
            astore 2 /* mediaType */
         8: .line 126
      StackMap locals:
      StackMap stack:
            aload 2 /* mediaType */
            areturn
        end local 4 // java.lang.String extension
        end local 3 // java.lang.String filename
        end local 2 // org.springframework.http.MediaType mediaType
        end local 1 // org.springframework.core.io.Resource resource
        end local 0 // org.springframework.web.accept.PathExtensionContentNegotiationStrategy this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    9     0       this  Lorg/springframework/web/accept/PathExtensionContentNegotiationStrategy;
            0    9     1   resource  Lorg/springframework/core/io/Resource;
            2    9     2  mediaType  Lorg/springframework/http/MediaType;
            3    9     3   filename  Ljava/lang/String;
            4    9     4  extension  Ljava/lang/String;
    RuntimeVisibleAnnotations: 
      org.springframework.lang.Nullable()
    MethodParameters:
          Name  Flags
      resource  
}
SourceFile: "PathExtensionContentNegotiationStrategy.java"
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()