public class org.hibernate.internal.util.xml.DTDEntityResolver implements org.xml.sax.EntityResolver, java.io.Serializable
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.hibernate.internal.util.xml.DTDEntityResolver
  super_class: java.lang.Object
{
  private static final org.hibernate.internal.CoreMessageLogger LOG;
    descriptor: Lorg/hibernate/internal/CoreMessageLogger;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final java.lang.String HIBERNATE_NAMESPACE;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: "http://www.hibernate.org/dtd/"

  private static final java.lang.String OLD_HIBERNATE_NAMESPACE;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: "http://hibernate.sourceforge.net/"

  private static final java.lang.String USER_NAMESPACE;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: "classpath://"

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=2, locals=0, args_size=0
         0: .line 60
            ldc Lorg/hibernate/internal/CoreMessageLogger;
            ldc Lorg/hibernate/internal/util/xml/DTDEntityResolver;
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            invokestatic org.jboss.logging.Logger.getMessageLogger:(Ljava/lang/Class;Ljava/lang/String;)Ljava/lang/Object;
            checkcast org.hibernate.internal.CoreMessageLogger
            putstatic org.hibernate.internal.util.xml.DTDEntityResolver.LOG:Lorg/hibernate/internal/CoreMessageLogger;
         1: .line 64
            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.hibernate.internal.util.xml.DTDEntityResolver this
         0: .line 58
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
            return
        end local 0 // org.hibernate.internal.util.xml.DTDEntityResolver this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/hibernate/internal/util/xml/DTDEntityResolver;

  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=6, args_size=3
        start local 0 // org.hibernate.internal.util.xml.DTDEntityResolver this
        start local 1 // java.lang.String publicId
        start local 2 // java.lang.String systemId
         0: .line 67
            aconst_null
            astore 3 /* source */
        start local 3 // org.xml.sax.InputSource source
         1: .line 68
            aload 2 /* systemId */
            ifnull 23
         2: .line 69
            getstatic org.hibernate.internal.util.xml.DTDEntityResolver.LOG:Lorg/hibernate/internal/CoreMessageLogger;
            ldc "Trying to resolve system-id [%s]"
            aload 2 /* systemId */
            invokeinterface org.hibernate.internal.CoreMessageLogger.debugf:(Ljava/lang/String;Ljava/lang/Object;)V
         3: .line 70
            aload 2 /* systemId */
            ldc "http://www.hibernate.org/dtd/"
            invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
            ifeq 7
         4: .line 71
            getstatic org.hibernate.internal.util.xml.DTDEntityResolver.LOG:Lorg/hibernate/internal/CoreMessageLogger;
            ldc "Recognized hibernate namespace; attempting to resolve on classpath under org/hibernate/"
            invokeinterface org.hibernate.internal.CoreMessageLogger.debug:(Ljava/lang/Object;)V
         5: .line 72
            aload 0 /* this */
            aload 1 /* publicId */
            aload 2 /* systemId */
            ldc "http://www.hibernate.org/dtd/"
            invokevirtual org.hibernate.internal.util.xml.DTDEntityResolver.resolveOnClassPath:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Lorg/xml/sax/InputSource;
            astore 3 /* source */
         6: .line 73
            goto 23
         7: .line 74
      StackMap locals: org.xml.sax.InputSource
      StackMap stack:
            aload 2 /* systemId */
            ldc "http://hibernate.sourceforge.net/"
            invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
            ifeq 12
         8: .line 75
            getstatic org.hibernate.internal.util.xml.DTDEntityResolver.LOG:Lorg/hibernate/internal/CoreMessageLogger;
            ldc "http://hibernate.sourceforge.net/"
            ldc "http://www.hibernate.org/dtd/"
            invokeinterface org.hibernate.internal.CoreMessageLogger.recognizedObsoleteHibernateNamespace:(Ljava/lang/String;Ljava/lang/String;)V
         9: .line 76
            getstatic org.hibernate.internal.util.xml.DTDEntityResolver.LOG:Lorg/hibernate/internal/CoreMessageLogger;
            ldc "Attempting to resolve on classpath under org/hibernate/"
            invokeinterface org.hibernate.internal.CoreMessageLogger.debug:(Ljava/lang/Object;)V
        10: .line 77
            aload 0 /* this */
            aload 1 /* publicId */
            aload 2 /* systemId */
            ldc "http://hibernate.sourceforge.net/"
            invokevirtual org.hibernate.internal.util.xml.DTDEntityResolver.resolveOnClassPath:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Lorg/xml/sax/InputSource;
            astore 3 /* source */
        11: .line 78
            goto 23
        12: .line 79
      StackMap locals:
      StackMap stack:
            aload 2 /* systemId */
            ldc "classpath://"
            invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
            ifeq 23
        13: .line 80
            getstatic org.hibernate.internal.util.xml.DTDEntityResolver.LOG:Lorg/hibernate/internal/CoreMessageLogger;
            ldc "Recognized local namespace; attempting to resolve on classpath"
            invokeinterface org.hibernate.internal.CoreMessageLogger.debug:(Ljava/lang/Object;)V
        14: .line 81
            aload 2 /* systemId */
            ldc "classpath://"
            invokevirtual java.lang.String.length:()I
            invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
            astore 4 /* path */
        start local 4 // java.lang.String path
        15: .line 82
            aload 0 /* this */
            aload 4 /* path */
            invokevirtual org.hibernate.internal.util.xml.DTDEntityResolver.resolveInLocalNamespace:(Ljava/lang/String;)Ljava/io/InputStream;
            astore 5 /* stream */
        start local 5 // java.io.InputStream stream
        16: .line 83
            aload 5 /* stream */
            ifnonnull 19
        17: .line 84
            getstatic org.hibernate.internal.util.xml.DTDEntityResolver.LOG:Lorg/hibernate/internal/CoreMessageLogger;
            ldc "Unable to locate [%s] on classpath"
            aload 2 /* systemId */
            invokeinterface org.hibernate.internal.CoreMessageLogger.debugf:(Ljava/lang/String;Ljava/lang/Object;)V
        18: .line 85
            goto 23
        19: .line 87
      StackMap locals: java.lang.String java.io.InputStream
      StackMap stack:
            getstatic org.hibernate.internal.util.xml.DTDEntityResolver.LOG:Lorg/hibernate/internal/CoreMessageLogger;
            ldc "Located [%s] in classpath"
            aload 2 /* systemId */
            invokeinterface org.hibernate.internal.CoreMessageLogger.debugf:(Ljava/lang/String;Ljava/lang/Object;)V
        20: .line 88
            new org.xml.sax.InputSource
            dup
            aload 5 /* stream */
            invokespecial org.xml.sax.InputSource.<init>:(Ljava/io/InputStream;)V
            astore 3 /* source */
        21: .line 89
            aload 3 /* source */
            aload 1 /* publicId */
            invokevirtual org.xml.sax.InputSource.setPublicId:(Ljava/lang/String;)V
        22: .line 90
            aload 3 /* source */
            aload 2 /* systemId */
            invokevirtual org.xml.sax.InputSource.setSystemId:(Ljava/lang/String;)V
        end local 5 // java.io.InputStream stream
        end local 4 // java.lang.String path
        23: .line 94
      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.hibernate.internal.util.xml.DTDEntityResolver this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   24     0      this  Lorg/hibernate/internal/util/xml/DTDEntityResolver;
            0   24     1  publicId  Ljava/lang/String;
            0   24     2  systemId  Ljava/lang/String;
            1   24     3    source  Lorg/xml/sax/InputSource;
           15   23     4      path  Ljava/lang/String;
           16   23     5    stream  Ljava/io/InputStream;
    MethodParameters:
          Name  Flags
      publicId  
      systemId  

  private org.xml.sax.InputSource resolveOnClassPath(java.lang.String, java.lang.String, java.lang.String);
    descriptor: (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Lorg/xml/sax/InputSource;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=7, args_size=4
        start local 0 // org.hibernate.internal.util.xml.DTDEntityResolver this
        start local 1 // java.lang.String publicId
        start local 2 // java.lang.String systemId
        start local 3 // java.lang.String namespace
         0: .line 98
            aconst_null
            astore 4 /* source */
        start local 4 // org.xml.sax.InputSource source
         1: .line 99
            new java.lang.StringBuilder
            dup
            ldc "org/hibernate/"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 2 /* systemId */
            aload 3 /* namespace */
            invokevirtual java.lang.String.length:()I
            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 /* path */
        start local 5 // java.lang.String path
         2: .line 100
            aload 0 /* this */
            aload 5 /* path */
            invokevirtual org.hibernate.internal.util.xml.DTDEntityResolver.resolveInHibernateNamespace:(Ljava/lang/String;)Ljava/io/InputStream;
            astore 6 /* dtdStream */
        start local 6 // java.io.InputStream dtdStream
         3: .line 101
            aload 6 /* dtdStream */
            ifnonnull 8
         4: .line 102
            getstatic org.hibernate.internal.util.xml.DTDEntityResolver.LOG:Lorg/hibernate/internal/CoreMessageLogger;
            ldc "Unable to locate [%s] on classpath"
            aload 2 /* systemId */
            invokeinterface org.hibernate.internal.CoreMessageLogger.debugf:(Ljava/lang/String;Ljava/lang/Object;)V
         5: .line 103
            aload 2 /* systemId */
            aload 3 /* namespace */
            invokevirtual java.lang.String.length:()I
            invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
            ldc "2.0"
            invokevirtual java.lang.String.indexOf:(Ljava/lang/String;)I
            iconst_m1
            if_icmple 12
         6: .line 104
            getstatic org.hibernate.internal.util.xml.DTDEntityResolver.LOG:Lorg/hibernate/internal/CoreMessageLogger;
            invokeinterface org.hibernate.internal.CoreMessageLogger.usingOldDtd:()V
         7: .line 106
            goto 12
         8: .line 108
      StackMap locals: org.xml.sax.InputSource java.lang.String java.io.InputStream
      StackMap stack:
            getstatic org.hibernate.internal.util.xml.DTDEntityResolver.LOG:Lorg/hibernate/internal/CoreMessageLogger;
            ldc "Located [%s] in classpath"
            aload 2 /* systemId */
            invokeinterface org.hibernate.internal.CoreMessageLogger.debugf:(Ljava/lang/String;Ljava/lang/Object;)V
         9: .line 109
            new org.xml.sax.InputSource
            dup
            aload 6 /* dtdStream */
            invokespecial org.xml.sax.InputSource.<init>:(Ljava/io/InputStream;)V
            astore 4 /* source */
        10: .line 110
            aload 4 /* source */
            aload 1 /* publicId */
            invokevirtual org.xml.sax.InputSource.setPublicId:(Ljava/lang/String;)V
        11: .line 111
            aload 4 /* source */
            aload 2 /* systemId */
            invokevirtual org.xml.sax.InputSource.setSystemId:(Ljava/lang/String;)V
        12: .line 113
      StackMap locals:
      StackMap stack:
            aload 4 /* source */
            areturn
        end local 6 // java.io.InputStream dtdStream
        end local 5 // java.lang.String path
        end local 4 // org.xml.sax.InputSource source
        end local 3 // java.lang.String namespace
        end local 2 // java.lang.String systemId
        end local 1 // java.lang.String publicId
        end local 0 // org.hibernate.internal.util.xml.DTDEntityResolver this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   13     0       this  Lorg/hibernate/internal/util/xml/DTDEntityResolver;
            0   13     1   publicId  Ljava/lang/String;
            0   13     2   systemId  Ljava/lang/String;
            0   13     3  namespace  Ljava/lang/String;
            1   13     4     source  Lorg/xml/sax/InputSource;
            2   13     5       path  Ljava/lang/String;
            3   13     6  dtdStream  Ljava/io/InputStream;
    MethodParameters:
           Name  Flags
      publicId   
      systemId   
      namespace  

  protected java.io.InputStream resolveInHibernateNamespace(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/io/InputStream;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.hibernate.internal.util.xml.DTDEntityResolver this
        start local 1 // java.lang.String path
         0: .line 117
            aload 0 /* this */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            invokevirtual java.lang.Class.getClassLoader:()Ljava/lang/ClassLoader;
            aload 1 /* path */
            invokevirtual java.lang.ClassLoader.getResourceAsStream:(Ljava/lang/String;)Ljava/io/InputStream;
            areturn
        end local 1 // java.lang.String path
        end local 0 // org.hibernate.internal.util.xml.DTDEntityResolver this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/hibernate/internal/util/xml/DTDEntityResolver;
            0    1     1  path  Ljava/lang/String;
    MethodParameters:
      Name  Flags
      path  

  protected java.io.InputStream resolveInLocalNamespace(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/io/InputStream;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=1, locals=2, args_size=2
        start local 0 // org.hibernate.internal.util.xml.DTDEntityResolver this
        start local 1 // java.lang.String path
         0: .line 122
            aload 1 /* path */
            invokestatic org.hibernate.internal.util.ConfigHelper.getUserResourceAsStream:(Ljava/lang/String;)Ljava/io/InputStream;
         1: areturn
         2: .line 124
      StackMap locals:
      StackMap stack: java.lang.Throwable
            pop
         3: .line 125
            aconst_null
            areturn
        end local 1 // java.lang.String path
        end local 0 // org.hibernate.internal.util.xml.DTDEntityResolver this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lorg/hibernate/internal/util/xml/DTDEntityResolver;
            0    4     1  path  Ljava/lang/String;
      Exception table:
        from    to  target  type
           0     1       2  Class java.lang.Throwable
    MethodParameters:
      Name  Flags
      path  
}
SourceFile: "DTDEntityResolver.java"