public class org.springframework.beans.factory.xml.ResourceEntityResolver extends org.springframework.beans.factory.xml.DelegatingEntityResolver
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.springframework.beans.factory.xml.ResourceEntityResolver
  super_class: org.springframework.beans.factory.xml.DelegatingEntityResolver
{
  private static final org.apache.commons.logging.Log logger;
    descriptor: Lorg/apache/commons/logging/Log;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private final org.springframework.core.io.ResourceLoader resourceLoader;
    descriptor: Lorg/springframework/core/io/ResourceLoader;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 56
            ldc Lorg/springframework/beans/factory/xml/ResourceEntityResolver;
            invokestatic org.apache.commons.logging.LogFactory.getLog:(Ljava/lang/Class;)Lorg/apache/commons/logging/Log;
            putstatic org.springframework.beans.factory.xml.ResourceEntityResolver.logger:Lorg/apache/commons/logging/Log;
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public void <init>(org.springframework.core.io.ResourceLoader);
    descriptor: (Lorg/springframework/core/io/ResourceLoader;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.springframework.beans.factory.xml.ResourceEntityResolver this
        start local 1 // org.springframework.core.io.ResourceLoader resourceLoader
         0: .line 68
            aload 0 /* this */
            aload 1 /* resourceLoader */
            invokeinterface org.springframework.core.io.ResourceLoader.getClassLoader:()Ljava/lang/ClassLoader;
            invokespecial org.springframework.beans.factory.xml.DelegatingEntityResolver.<init>:(Ljava/lang/ClassLoader;)V
         1: .line 69
            aload 0 /* this */
            aload 1 /* resourceLoader */
            putfield org.springframework.beans.factory.xml.ResourceEntityResolver.resourceLoader:Lorg/springframework/core/io/ResourceLoader;
         2: .line 70
            return
        end local 1 // org.springframework.core.io.ResourceLoader resourceLoader
        end local 0 // org.springframework.beans.factory.xml.ResourceEntityResolver this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    3     0            this  Lorg/springframework/beans/factory/xml/ResourceEntityResolver;
            0    3     1  resourceLoader  Lorg/springframework/core/io/ResourceLoader;
    MethodParameters:
                Name  Flags
      resourceLoader  

  public org.xml.sax.InputSource resolveEntity(java.lang.String, java.lang.String);
    descriptor: (Ljava/lang/String;Ljava/lang/String;)Lorg/xml/sax/InputSource;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=8, args_size=3
        start local 0 // org.springframework.beans.factory.xml.ResourceEntityResolver this
        start local 1 // java.lang.String publicId
        start local 2 // java.lang.String systemId
         0: .line 78
            aload 0 /* this */
            aload 1 /* publicId */
            aload 2 /* systemId */
            invokespecial org.springframework.beans.factory.xml.DelegatingEntityResolver.resolveEntity:(Ljava/lang/String;Ljava/lang/String;)Lorg/xml/sax/InputSource;
            astore 3 /* source */
        start local 3 // org.xml.sax.InputSource source
         1: .line 80
            aload 3 /* source */
            ifnonnull 35
            aload 2 /* systemId */
            ifnull 35
         2: .line 81
            aconst_null
            astore 4 /* resourcePath */
        start local 4 // java.lang.String resourcePath
         3: .line 83
            aload 2 /* systemId */
            ldc "UTF-8"
            invokestatic java.net.URLDecoder.decode:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
            astore 5 /* decodedSystemId */
        start local 5 // java.lang.String decodedSystemId
         4: .line 84
            new java.net.URL
            dup
            aload 5 /* decodedSystemId */
            invokespecial java.net.URL.<init>:(Ljava/lang/String;)V
            invokevirtual java.net.URL.toString:()Ljava/lang/String;
            astore 6 /* givenUrl */
        start local 6 // java.lang.String givenUrl
         5: .line 85
            new java.io.File
            dup
            ldc ""
            invokespecial java.io.File.<init>:(Ljava/lang/String;)V
            invokevirtual java.io.File.toURI:()Ljava/net/URI;
            invokevirtual java.net.URI.toURL:()Ljava/net/URL;
            invokevirtual java.net.URL.toString:()Ljava/lang/String;
            astore 7 /* systemRootUrl */
        start local 7 // java.lang.String systemRootUrl
         6: .line 87
            aload 6 /* givenUrl */
            aload 7 /* systemRootUrl */
            invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
            ifeq 13
         7: .line 88
            aload 6 /* givenUrl */
            aload 7 /* systemRootUrl */
            invokevirtual java.lang.String.length:()I
            invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
            astore 4 /* resourcePath */
        end local 7 // java.lang.String systemRootUrl
        end local 6 // java.lang.String givenUrl
        end local 5 // java.lang.String decodedSystemId
         8: .line 90
            goto 13
         9: .line 91
      StackMap locals: org.springframework.beans.factory.xml.ResourceEntityResolver java.lang.String java.lang.String org.xml.sax.InputSource java.lang.String
      StackMap stack: java.lang.Exception
            astore 5 /* ex */
        start local 5 // java.lang.Exception ex
        10: .line 93
            getstatic org.springframework.beans.factory.xml.ResourceEntityResolver.logger:Lorg/apache/commons/logging/Log;
            invokeinterface org.apache.commons.logging.Log.isDebugEnabled:()Z
            ifeq 12
        11: .line 94
            getstatic org.springframework.beans.factory.xml.ResourceEntityResolver.logger:Lorg/apache/commons/logging/Log;
            new java.lang.StringBuilder
            dup
            ldc "Could not resolve XML entity ["
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 2 /* systemId */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "] against system root URL"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            aload 5 /* ex */
            invokeinterface org.apache.commons.logging.Log.debug:(Ljava/lang/Object;Ljava/lang/Throwable;)V
        12: .line 97
      StackMap locals: java.lang.Exception
      StackMap stack:
            aload 2 /* systemId */
            astore 4 /* resourcePath */
        end local 5 // java.lang.Exception ex
        13: .line 99
      StackMap locals:
      StackMap stack:
            aload 4 /* resourcePath */
            ifnull 23
        14: .line 100
            getstatic org.springframework.beans.factory.xml.ResourceEntityResolver.logger:Lorg/apache/commons/logging/Log;
            invokeinterface org.apache.commons.logging.Log.isTraceEnabled:()Z
            ifeq 16
        15: .line 101
            getstatic org.springframework.beans.factory.xml.ResourceEntityResolver.logger:Lorg/apache/commons/logging/Log;
            new java.lang.StringBuilder
            dup
            ldc "Trying to locate XML entity ["
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 2 /* systemId */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "] as resource ["
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 4 /* resourcePath */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "]"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokeinterface org.apache.commons.logging.Log.trace:(Ljava/lang/Object;)V
        16: .line 103
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.springframework.beans.factory.xml.ResourceEntityResolver.resourceLoader:Lorg/springframework/core/io/ResourceLoader;
            aload 4 /* resourcePath */
            invokeinterface org.springframework.core.io.ResourceLoader.getResource:(Ljava/lang/String;)Lorg/springframework/core/io/Resource;
            astore 5 /* resource */
        start local 5 // org.springframework.core.io.Resource resource
        17: .line 104
            new org.xml.sax.InputSource
            dup
            aload 5 /* resource */
            invokeinterface org.springframework.core.io.Resource.getInputStream:()Ljava/io/InputStream;
            invokespecial org.xml.sax.InputSource.<init>:(Ljava/io/InputStream;)V
            astore 3 /* source */
        18: .line 105
            aload 3 /* source */
            aload 1 /* publicId */
            invokevirtual org.xml.sax.InputSource.setPublicId:(Ljava/lang/String;)V
        19: .line 106
            aload 3 /* source */
            aload 2 /* systemId */
            invokevirtual org.xml.sax.InputSource.setSystemId:(Ljava/lang/String;)V
        20: .line 107
            getstatic org.springframework.beans.factory.xml.ResourceEntityResolver.logger:Lorg/apache/commons/logging/Log;
            invokeinterface org.apache.commons.logging.Log.isDebugEnabled:()Z
            ifeq 35
        21: .line 108
            getstatic org.springframework.beans.factory.xml.ResourceEntityResolver.logger:Lorg/apache/commons/logging/Log;
            new java.lang.StringBuilder
            dup
            ldc "Found XML entity ["
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 2 /* systemId */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "]: "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 5 /* resource */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokeinterface org.apache.commons.logging.Log.debug:(Ljava/lang/Object;)V
        end local 5 // org.springframework.core.io.Resource resource
        22: .line 110
            goto 35
        23: .line 111
      StackMap locals:
      StackMap stack:
            aload 2 /* systemId */
            ldc ".dtd"
            invokevirtual java.lang.String.endsWith:(Ljava/lang/String;)Z
            ifne 24
            aload 2 /* systemId */
            ldc ".xsd"
            invokevirtual java.lang.String.endsWith:(Ljava/lang/String;)Z
            ifeq 35
        24: .line 113
      StackMap locals:
      StackMap stack:
            aload 2 /* systemId */
            astore 5 /* url */
        start local 5 // java.lang.String url
        25: .line 114
            aload 5 /* url */
            ldc "http:"
            invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
            ifeq 27
        26: .line 115
            new java.lang.StringBuilder
            dup
            ldc "https:"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 5 /* url */
            iconst_5
            invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 5 /* url */
        27: .line 118
      StackMap locals: java.lang.String
      StackMap stack:
            new org.xml.sax.InputSource
            dup
            new java.net.URL
            dup
            aload 5 /* url */
            invokespecial java.net.URL.<init>:(Ljava/lang/String;)V
            invokevirtual java.net.URL.openStream:()Ljava/io/InputStream;
            invokespecial org.xml.sax.InputSource.<init>:(Ljava/io/InputStream;)V
            astore 3 /* source */
        28: .line 119
            aload 3 /* source */
            aload 1 /* publicId */
            invokevirtual org.xml.sax.InputSource.setPublicId:(Ljava/lang/String;)V
        29: .line 120
            aload 3 /* source */
            aload 2 /* systemId */
            invokevirtual org.xml.sax.InputSource.setSystemId:(Ljava/lang/String;)V
        30: .line 121
            goto 35
        31: .line 122
      StackMap locals:
      StackMap stack: java.io.IOException
            astore 6 /* ex */
        start local 6 // java.io.IOException ex
        32: .line 123
            getstatic org.springframework.beans.factory.xml.ResourceEntityResolver.logger:Lorg/apache/commons/logging/Log;
            invokeinterface org.apache.commons.logging.Log.isDebugEnabled:()Z
            ifeq 34
        33: .line 124
            getstatic org.springframework.beans.factory.xml.ResourceEntityResolver.logger:Lorg/apache/commons/logging/Log;
            new java.lang.StringBuilder
            dup
            ldc "Could not resolve XML entity ["
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 2 /* systemId */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "] through URL ["
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 5 /* url */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "]"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            aload 6 /* ex */
            invokeinterface org.apache.commons.logging.Log.debug:(Ljava/lang/Object;Ljava/lang/Throwable;)V
        34: .line 127
      StackMap locals: java.io.IOException
      StackMap stack:
            aconst_null
            astore 3 /* source */
        end local 6 // java.io.IOException ex
        end local 5 // java.lang.String url
        end local 4 // java.lang.String resourcePath
        35: .line 132
      StackMap locals:
      StackMap stack:
            aload 3 /* source */
            areturn
        end local 3 // org.xml.sax.InputSource source
        end local 2 // java.lang.String systemId
        end local 1 // java.lang.String publicId
        end local 0 // org.springframework.beans.factory.xml.ResourceEntityResolver this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0   36     0             this  Lorg/springframework/beans/factory/xml/ResourceEntityResolver;
            0   36     1         publicId  Ljava/lang/String;
            0   36     2         systemId  Ljava/lang/String;
            1   36     3           source  Lorg/xml/sax/InputSource;
            3   35     4     resourcePath  Ljava/lang/String;
            4    8     5  decodedSystemId  Ljava/lang/String;
            5    8     6         givenUrl  Ljava/lang/String;
            6    8     7    systemRootUrl  Ljava/lang/String;
           10   13     5               ex  Ljava/lang/Exception;
           17   22     5         resource  Lorg/springframework/core/io/Resource;
           25   35     5              url  Ljava/lang/String;
           32   35     6               ex  Ljava/io/IOException;
      Exception table:
        from    to  target  type
           3     8       9  Class java.lang.Exception
          27    30      31  Class java.io.IOException
    Exceptions:
      throws org.xml.sax.SAXException, java.io.IOException
    RuntimeVisibleAnnotations: 
      org.springframework.lang.Nullable()
    RuntimeVisibleParameterAnnotations: 
      0:
        org.springframework.lang.Nullable()
      1:
        org.springframework.lang.Nullable()
    MethodParameters:
          Name  Flags
      publicId  
      systemId  
}
SourceFile: "ResourceEntityResolver.java"