public class org.springframework.beans.factory.xml.BeansDtdResolver implements org.xml.sax.EntityResolver
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.springframework.beans.factory.xml.BeansDtdResolver
  super_class: java.lang.Object
{
  private static final java.lang.String DTD_EXTENSION;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: ".dtd"

  private static final java.lang.String DTD_NAME;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: "spring-beans"

  private static final org.apache.commons.logging.Log logger;
    descriptor: Lorg/apache/commons/logging/Log;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

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

  public void <init>();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.springframework.beans.factory.xml.BeansDtdResolver this
         0: .line 45
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
            return
        end local 0 // org.springframework.beans.factory.xml.BeansDtdResolver this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/springframework/beans/factory/xml/BeansDtdResolver;

  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=4, locals=8, args_size=3
        start local 0 // org.springframework.beans.factory.xml.BeansDtdResolver this
        start local 1 // java.lang.String publicId
        start local 2 // java.lang.String systemId
         0: .line 57
            getstatic org.springframework.beans.factory.xml.BeansDtdResolver.logger:Lorg/apache/commons/logging/Log;
            invokeinterface org.apache.commons.logging.Log.isTraceEnabled:()Z
            ifeq 4
         1: .line 58
            getstatic org.springframework.beans.factory.xml.BeansDtdResolver.logger:Lorg/apache/commons/logging/Log;
            new java.lang.StringBuilder
            dup
            ldc "Trying to resolve XML entity with public ID ["
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* publicId */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         2: .line 59
            ldc "] and system ID ["
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            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;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
         3: .line 58
            invokeinterface org.apache.commons.logging.Log.trace:(Ljava/lang/Object;)V
         4: .line 62
      StackMap locals:
      StackMap stack:
            aload 2 /* systemId */
            ifnull 22
            aload 2 /* systemId */
            ldc ".dtd"
            invokevirtual java.lang.String.endsWith:(Ljava/lang/String;)Z
            ifeq 22
         5: .line 63
            aload 2 /* systemId */
            bipush 47
            invokevirtual java.lang.String.lastIndexOf:(I)I
            istore 3 /* lastPathSeparator */
        start local 3 // int lastPathSeparator
         6: .line 64
            aload 2 /* systemId */
            ldc "spring-beans"
            iload 3 /* lastPathSeparator */
            invokevirtual java.lang.String.indexOf:(Ljava/lang/String;I)I
            istore 4 /* dtdNameStart */
        start local 4 // int dtdNameStart
         7: .line 65
            iload 4 /* dtdNameStart */
            iconst_m1
            if_icmpeq 22
         8: .line 66
            ldc "spring-beans.dtd"
            astore 5 /* dtdFile */
        start local 5 // java.lang.String dtdFile
         9: .line 67
            getstatic org.springframework.beans.factory.xml.BeansDtdResolver.logger:Lorg/apache/commons/logging/Log;
            invokeinterface org.apache.commons.logging.Log.isTraceEnabled:()Z
            ifeq 11
        10: .line 68
            getstatic org.springframework.beans.factory.xml.BeansDtdResolver.logger:Lorg/apache/commons/logging/Log;
            new java.lang.StringBuilder
            dup
            ldc "Trying to locate ["
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 5 /* dtdFile */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "] in Spring jar on classpath"
            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
        11: .line 71
      StackMap locals: int int java.lang.String
      StackMap stack:
            new org.springframework.core.io.ClassPathResource
            dup
            aload 5 /* dtdFile */
            aload 0 /* this */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            invokespecial org.springframework.core.io.ClassPathResource.<init>:(Ljava/lang/String;Ljava/lang/Class;)V
            astore 6 /* resource */
        start local 6 // org.springframework.core.io.Resource resource
        12: .line 72
            new org.xml.sax.InputSource
            dup
            aload 6 /* resource */
            invokeinterface org.springframework.core.io.Resource.getInputStream:()Ljava/io/InputStream;
            invokespecial org.xml.sax.InputSource.<init>:(Ljava/io/InputStream;)V
            astore 7 /* source */
        start local 7 // org.xml.sax.InputSource source
        13: .line 73
            aload 7 /* source */
            aload 1 /* publicId */
            invokevirtual org.xml.sax.InputSource.setPublicId:(Ljava/lang/String;)V
        14: .line 74
            aload 7 /* source */
            aload 2 /* systemId */
            invokevirtual org.xml.sax.InputSource.setSystemId:(Ljava/lang/String;)V
        15: .line 75
            getstatic org.springframework.beans.factory.xml.BeansDtdResolver.logger:Lorg/apache/commons/logging/Log;
            invokeinterface org.apache.commons.logging.Log.isTraceEnabled:()Z
            ifeq 17
        16: .line 76
            getstatic org.springframework.beans.factory.xml.BeansDtdResolver.logger:Lorg/apache/commons/logging/Log;
            new java.lang.StringBuilder
            dup
            ldc "Found beans DTD ["
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 2 /* systemId */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "] in classpath: "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 5 /* dtdFile */
            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
        17: .line 78
      StackMap locals: org.springframework.core.io.Resource org.xml.sax.InputSource
      StackMap stack:
            aload 7 /* source */
        18: areturn
        end local 7 // org.xml.sax.InputSource source
        end local 6 // org.springframework.core.io.Resource resource
        19: .line 80
      StackMap locals: org.springframework.beans.factory.xml.BeansDtdResolver java.lang.String java.lang.String int int java.lang.String
      StackMap stack: java.io.FileNotFoundException
            astore 6 /* ex */
        start local 6 // java.io.FileNotFoundException ex
        20: .line 81
            getstatic org.springframework.beans.factory.xml.BeansDtdResolver.logger:Lorg/apache/commons/logging/Log;
            invokeinterface org.apache.commons.logging.Log.isDebugEnabled:()Z
            ifeq 22
        21: .line 82
            getstatic org.springframework.beans.factory.xml.BeansDtdResolver.logger:Lorg/apache/commons/logging/Log;
            new java.lang.StringBuilder
            dup
            ldc "Could not resolve beans DTD ["
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 2 /* systemId */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "]: not found in classpath"
            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
        end local 6 // java.io.FileNotFoundException ex
        end local 5 // java.lang.String dtdFile
        end local 4 // int dtdNameStart
        end local 3 // int lastPathSeparator
        22: .line 89
      StackMap locals:
      StackMap stack:
            aconst_null
            areturn
        end local 2 // java.lang.String systemId
        end local 1 // java.lang.String publicId
        end local 0 // org.springframework.beans.factory.xml.BeansDtdResolver this
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0   23     0               this  Lorg/springframework/beans/factory/xml/BeansDtdResolver;
            0   23     1           publicId  Ljava/lang/String;
            0   23     2           systemId  Ljava/lang/String;
            6   22     3  lastPathSeparator  I
            7   22     4       dtdNameStart  I
            9   22     5            dtdFile  Ljava/lang/String;
           12   19     6           resource  Lorg/springframework/core/io/Resource;
           13   19     7             source  Lorg/xml/sax/InputSource;
           20   22     6                 ex  Ljava/io/FileNotFoundException;
      Exception table:
        from    to  target  type
          11    18      19  Class java.io.FileNotFoundException
    Exceptions:
      throws java.io.IOException
    RuntimeVisibleAnnotations: 
      org.springframework.lang.Nullable()
    RuntimeVisibleParameterAnnotations: 
      0:
        org.springframework.lang.Nullable()
      1:
        org.springframework.lang.Nullable()
    MethodParameters:
          Name  Flags
      publicId  
      systemId  

  public java.lang.String toString();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.springframework.beans.factory.xml.BeansDtdResolver this
         0: .line 95
            ldc "EntityResolver for spring-beans DTD"
            areturn
        end local 0 // org.springframework.beans.factory.xml.BeansDtdResolver this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/springframework/beans/factory/xml/BeansDtdResolver;
}
SourceFile: "BeansDtdResolver.java"