public abstract class javax.xml.xpath.XPathFactory
  minor version: 0
  major version: 59
  flags: flags: (0x0421) ACC_PUBLIC, ACC_SUPER, ACC_ABSTRACT
  this_class: javax.xml.xpath.XPathFactory
  super_class: java.lang.Object
{
  public static final java.lang.String DEFAULT_PROPERTY_NAME;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "javax.xml.xpath.XPathFactory"

  public static final java.lang.String DEFAULT_OBJECT_MODEL_URI;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "http://java.sun.com/jaxp/xpath/dom"

  protected void <init>();
    descriptor: ()V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // javax.xml.xpath.XPathFactory this
         0: .line 50
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 51
            return
        end local 0 // javax.xml.xpath.XPathFactory this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Ljavax/xml/xpath/XPathFactory;

  public static final javax.xml.xpath.XPathFactory newInstance();
    descriptor: ()Ljavax/xml/xpath/XPathFactory;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    Code:
      stack=5, locals=1, args_size=0
         0: .line 69
            ldc "http://java.sun.com/jaxp/xpath/dom"
            invokestatic javax.xml.xpath.XPathFactory.newInstance:(Ljava/lang/String;)Ljavax/xml/xpath/XPathFactory;
         1: areturn
         2: .line 71
      StackMap locals:
      StackMap stack: javax.xml.xpath.XPathFactoryConfigurationException
            astore 0 /* xpathFactoryConfigurationException */
        start local 0 // javax.xml.xpath.XPathFactoryConfigurationException xpathFactoryConfigurationException
         3: .line 72
            new java.lang.RuntimeException
            dup
         4: .line 73
            new java.lang.StringBuilder
            dup
            ldc "XPathFactory#newInstance() failed to create an XPathFactory for the default object model: http://java.sun.com/jaxp/xpath/dom with the XPathFactoryConfigurationException: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
         5: .line 76
            aload 0 /* xpathFactoryConfigurationException */
            invokevirtual javax.xml.xpath.XPathFactoryConfigurationException.toString:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         6: .line 73
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
         7: .line 72
            invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/String;)V
            athrow
        end local 0 // javax.xml.xpath.XPathFactoryConfigurationException xpathFactoryConfigurationException
      LocalVariableTable:
        Start  End  Slot                                Name  Signature
            3    8     0  xpathFactoryConfigurationException  Ljavax/xml/xpath/XPathFactoryConfigurationException;
      Exception table:
        from    to  target  type
           0     1       2  Class javax.xml.xpath.XPathFactoryConfigurationException

  public static final javax.xml.xpath.XPathFactory newInstance(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljavax/xml/xpath/XPathFactory;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    Code:
      stack=5, locals=3, args_size=1
        start local 0 // java.lang.String uri
         0: .line 135
            aload 0 /* uri */
            ifnonnull 4
         1: .line 136
            new java.lang.NullPointerException
            dup
         2: .line 137
            ldc "XPathFactory#newInstance(String uri) cannot be called with uri == null"
         3: .line 136
            invokespecial java.lang.NullPointerException.<init>:(Ljava/lang/String;)V
            athrow
         4: .line 140
      StackMap locals:
      StackMap stack:
            aload 0 /* uri */
            invokevirtual java.lang.String.length:()I
            ifne 8
         5: .line 141
            new java.lang.IllegalArgumentException
            dup
         6: .line 142
            ldc "XPathFactory#newInstance(String uri) cannot be called with uri == \"\""
         7: .line 141
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         8: .line 145
      StackMap locals:
      StackMap stack:
            invokestatic javax.xml.xpath.SecuritySupport.getContextClassLoader:()Ljava/lang/ClassLoader;
            astore 1 /* classLoader */
        start local 1 // java.lang.ClassLoader classLoader
         9: .line 146
            aload 1 /* classLoader */
            ifnonnull 11
        10: .line 148
            ldc Ljavax/xml/xpath/XPathFactory;
            invokevirtual java.lang.Class.getClassLoader:()Ljava/lang/ClassLoader;
            astore 1 /* classLoader */
        11: .line 150
      StackMap locals: java.lang.ClassLoader
      StackMap stack:
            new javax.xml.xpath.XPathFactoryFinder
            dup
            aload 1 /* classLoader */
            invokespecial javax.xml.xpath.XPathFactoryFinder.<init>:(Ljava/lang/ClassLoader;)V
            aload 0 /* uri */
            invokevirtual javax.xml.xpath.XPathFactoryFinder.newFactory:(Ljava/lang/String;)Ljavax/xml/xpath/XPathFactory;
            astore 2 /* xpathFactory */
        start local 2 // javax.xml.xpath.XPathFactory xpathFactory
        12: .line 151
            aload 2 /* xpathFactory */
            ifnonnull 18
        13: .line 152
            new javax.xml.xpath.XPathFactoryConfigurationException
            dup
        14: .line 153
            new java.lang.StringBuilder
            dup
            ldc "No XPathFctory implementation found for the object model: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
        15: .line 154
            aload 0 /* uri */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        16: .line 153
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        17: .line 152
            invokespecial javax.xml.xpath.XPathFactoryConfigurationException.<init>:(Ljava/lang/String;)V
            athrow
        18: .line 157
      StackMap locals: javax.xml.xpath.XPathFactory
      StackMap stack:
            aload 2 /* xpathFactory */
            areturn
        end local 2 // javax.xml.xpath.XPathFactory xpathFactory
        end local 1 // java.lang.ClassLoader classLoader
        end local 0 // java.lang.String uri
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   19     0           uri  Ljava/lang/String;
            9   19     1   classLoader  Ljava/lang/ClassLoader;
           12   19     2  xpathFactory  Ljavax/xml/xpath/XPathFactory;
    Exceptions:
      throws javax.xml.xpath.XPathFactoryConfigurationException
    MethodParameters:
      Name  Flags
      uri   final

  public static javax.xml.xpath.XPathFactory newInstance(java.lang.String, java.lang.String, java.lang.ClassLoader);
    descriptor: (Ljava/lang/String;Ljava/lang/String;Ljava/lang/ClassLoader;)Ljavax/xml/xpath/XPathFactory;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=4, args_size=3
        start local 0 // java.lang.String uri
        start local 1 // java.lang.String factoryClassName
        start local 2 // java.lang.ClassLoader classLoader
         0: .line 169
            aload 0 /* uri */
            ifnonnull 4
         1: .line 170
            new java.lang.NullPointerException
            dup
         2: .line 171
            ldc "XPathFactory#newInstance(String uri) cannot be called with uri == null"
         3: .line 170
            invokespecial java.lang.NullPointerException.<init>:(Ljava/lang/String;)V
            athrow
         4: .line 174
      StackMap locals:
      StackMap stack:
            aload 0 /* uri */
            invokevirtual java.lang.String.length:()I
            ifne 8
         5: .line 175
            new java.lang.IllegalArgumentException
            dup
         6: .line 176
            ldc "XPathFactory#newInstance(String uri) cannot be called with uri == \"\""
         7: .line 175
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         8: .line 179
      StackMap locals:
      StackMap stack:
            aload 1 /* factoryClassName */
            ifnonnull 10
         9: .line 180
            new javax.xml.xpath.XPathFactoryConfigurationException
            dup
            ldc "factoryClassName cannot be null."
            invokespecial javax.xml.xpath.XPathFactoryConfigurationException.<init>:(Ljava/lang/String;)V
            athrow
        10: .line 182
      StackMap locals:
      StackMap stack:
            aload 2 /* classLoader */
            ifnonnull 12
        11: .line 183
            invokestatic javax.xml.xpath.SecuritySupport.getContextClassLoader:()Ljava/lang/ClassLoader;
            astore 2 /* classLoader */
        12: .line 185
      StackMap locals:
      StackMap stack:
            new javax.xml.xpath.XPathFactoryFinder
            dup
            aload 2 /* classLoader */
            invokespecial javax.xml.xpath.XPathFactoryFinder.<init>:(Ljava/lang/ClassLoader;)V
            aload 1 /* factoryClassName */
            invokevirtual javax.xml.xpath.XPathFactoryFinder.createInstance:(Ljava/lang/String;)Ljavax/xml/xpath/XPathFactory;
            astore 3 /* xpathFactory */
        start local 3 // javax.xml.xpath.XPathFactory xpathFactory
        13: .line 186
            aload 3 /* xpathFactory */
            ifnull 14
            aload 3 /* xpathFactory */
            aload 0 /* uri */
            invokevirtual javax.xml.xpath.XPathFactory.isObjectModelSupported:(Ljava/lang/String;)Z
            ifne 19
        14: .line 187
      StackMap locals: javax.xml.xpath.XPathFactory
      StackMap stack:
            new javax.xml.xpath.XPathFactoryConfigurationException
            dup
        15: .line 188
            new java.lang.StringBuilder
            dup
            ldc "No XPathFctory implementation found for the object model: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
        16: .line 189
            aload 0 /* uri */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        17: .line 188
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        18: .line 187
            invokespecial javax.xml.xpath.XPathFactoryConfigurationException.<init>:(Ljava/lang/String;)V
            athrow
        19: .line 192
      StackMap locals:
      StackMap stack:
            aload 3 /* xpathFactory */
            areturn
        end local 3 // javax.xml.xpath.XPathFactory xpathFactory
        end local 2 // java.lang.ClassLoader classLoader
        end local 1 // java.lang.String factoryClassName
        end local 0 // java.lang.String uri
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0   20     0               uri  Ljava/lang/String;
            0   20     1  factoryClassName  Ljava/lang/String;
            0   20     2       classLoader  Ljava/lang/ClassLoader;
           13   20     3      xpathFactory  Ljavax/xml/xpath/XPathFactory;
    Exceptions:
      throws javax.xml.xpath.XPathFactoryConfigurationException
    MethodParameters:
                  Name  Flags
      uri               
      factoryClassName  
      classLoader       

  public abstract boolean isObjectModelSupported(java.lang.String);
    descriptor: (Ljava/lang/String;)Z
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    MethodParameters:
             Name  Flags
      objectModel  

  public abstract void setFeature(java.lang.String, boolean);
    descriptor: (Ljava/lang/String;Z)V
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    Exceptions:
      throws javax.xml.xpath.XPathFactoryConfigurationException
    MethodParameters:
       Name  Flags
      name   
      value  

  public abstract boolean getFeature(java.lang.String);
    descriptor: (Ljava/lang/String;)Z
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    Exceptions:
      throws javax.xml.xpath.XPathFactoryConfigurationException
    MethodParameters:
      Name  Flags
      name  

  public abstract void setXPathVariableResolver(javax.xml.xpath.XPathVariableResolver);
    descriptor: (Ljavax/xml/xpath/XPathVariableResolver;)V
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    MethodParameters:
          Name  Flags
      resolver  

  public abstract void setXPathFunctionResolver(javax.xml.xpath.XPathFunctionResolver);
    descriptor: (Ljavax/xml/xpath/XPathFunctionResolver;)V
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    MethodParameters:
          Name  Flags
      resolver  

  public abstract javax.xml.xpath.XPath newXPath();
    descriptor: ()Ljavax/xml/xpath/XPath;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
}
SourceFile: "XPathFactory.java"