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 71
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 72
            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 javax.xml.xpath.XPathFactory newDefaultInstance();
    descriptor: ()Ljavax/xml/xpath/XPathFactory;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=0, args_size=0
         0: .line 90
            new com.sun.org.apache.xpath.internal.jaxp.XPathFactoryImpl
            dup
            invokespecial com.sun.org.apache.xpath.internal.jaxp.XPathFactoryImpl.<init>:()V
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public static javax.xml.xpath.XPathFactory newInstance();
    descriptor: ()Ljavax/xml/xpath/XPathFactory;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=1, args_size=0
         0: .line 113
            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 114
      StackMap locals:
      StackMap stack: javax.xml.xpath.XPathFactoryConfigurationException
            astore 0 /* e */
        start local 0 // javax.xml.xpath.XPathFactoryConfigurationException e
         3: .line 115
            new java.lang.RuntimeException
            dup
         4: .line 116
            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 119
            aload 0 /* e */
            invokevirtual javax.xml.xpath.XPathFactoryConfigurationException.getMessage:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         6: .line 116
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
         7: .line 119
            aload 0 /* e */
         8: .line 115
            invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
            athrow
        end local 0 // javax.xml.xpath.XPathFactoryConfigurationException e
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            3    9     0     e  Ljavax/xml/xpath/XPathFactoryConfigurationException;
      Exception table:
        from    to  target  type
           0     1       2  Class javax.xml.xpath.XPathFactoryConfigurationException

  public static javax.xml.xpath.XPathFactory newInstance(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljavax/xml/xpath/XPathFactory;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=3, args_size=1
        start local 0 // java.lang.String uri
         0: .line 206
            aload 0 /* uri */
            ifnonnull 4
         1: .line 207
            new java.lang.NullPointerException
            dup
         2: .line 208
            ldc "XPathFactory#newInstance(String uri) cannot be called with uri == null"
         3: .line 207
            invokespecial java.lang.NullPointerException.<init>:(Ljava/lang/String;)V
            athrow
         4: .line 211
      StackMap locals:
      StackMap stack:
            aload 0 /* uri */
            invokevirtual java.lang.String.length:()I
            ifne 8
         5: .line 212
            new java.lang.IllegalArgumentException
            dup
         6: .line 213
            ldc "XPathFactory#newInstance(String uri) cannot be called with uri == \"\""
         7: .line 212
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         8: .line 216
      StackMap locals:
      StackMap stack:
            invokestatic jdk.xml.internal.SecuritySupport.getContextClassLoader:()Ljava/lang/ClassLoader;
            astore 1 /* classLoader */
        start local 1 // java.lang.ClassLoader classLoader
         9: .line 218
            aload 1 /* classLoader */
            ifnonnull 11
        10: .line 220
            ldc Ljavax/xml/xpath/XPathFactory;
            invokevirtual java.lang.Class.getClassLoader:()Ljava/lang/ClassLoader;
            astore 1 /* classLoader */
        11: .line 223
      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 225
            aload 2 /* xpathFactory */
            ifnonnull 18
        13: .line 226
            new javax.xml.xpath.XPathFactoryConfigurationException
            dup
        14: .line 227
            new java.lang.StringBuilder
            dup
            ldc "No XPathFactory implementation found for the object model: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
        15: .line 228
            aload 0 /* uri */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        16: .line 227
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        17: .line 226
            invokespecial javax.xml.xpath.XPathFactoryConfigurationException.<init>:(Ljava/lang/String;)V
            athrow
        18: .line 231
      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=5, 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 282
            aload 2 /* classLoader */
            astore 3 /* cl */
        start local 3 // java.lang.ClassLoader cl
         1: .line 284
            aload 0 /* uri */
            ifnonnull 5
         2: .line 285
            new java.lang.NullPointerException
            dup
         3: .line 286
            ldc "XPathFactory#newInstance(String uri) cannot be called with uri == null"
         4: .line 285
            invokespecial java.lang.NullPointerException.<init>:(Ljava/lang/String;)V
            athrow
         5: .line 289
      StackMap locals: java.lang.ClassLoader
      StackMap stack:
            aload 0 /* uri */
            invokevirtual java.lang.String.length:()I
            ifne 9
         6: .line 290
            new java.lang.IllegalArgumentException
            dup
         7: .line 291
            ldc "XPathFactory#newInstance(String uri) cannot be called with uri == \"\""
         8: .line 290
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         9: .line 294
      StackMap locals:
      StackMap stack:
            aload 3 /* cl */
            ifnonnull 11
        10: .line 295
            invokestatic jdk.xml.internal.SecuritySupport.getContextClassLoader:()Ljava/lang/ClassLoader;
            astore 3 /* cl */
        11: .line 298
      StackMap locals:
      StackMap stack:
            new javax.xml.xpath.XPathFactoryFinder
            dup
            aload 3 /* cl */
            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 4 /* f */
        start local 4 // javax.xml.xpath.XPathFactory f
        12: .line 300
            aload 4 /* f */
            ifnonnull 18
        13: .line 301
            new javax.xml.xpath.XPathFactoryConfigurationException
            dup
        14: .line 302
            new java.lang.StringBuilder
            dup
            ldc "No XPathFactory implementation found for the object model: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
        15: .line 303
            aload 0 /* uri */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        16: .line 302
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        17: .line 301
            invokespecial javax.xml.xpath.XPathFactoryConfigurationException.<init>:(Ljava/lang/String;)V
            athrow
        18: .line 306
      StackMap locals: javax.xml.xpath.XPathFactory
      StackMap stack:
            aload 4 /* f */
            aload 0 /* uri */
            invokevirtual javax.xml.xpath.XPathFactory.isObjectModelSupported:(Ljava/lang/String;)Z
            ifeq 20
        19: .line 307
            aload 4 /* f */
            areturn
        20: .line 309
      StackMap locals:
      StackMap stack:
            new javax.xml.xpath.XPathFactoryConfigurationException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Factory "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
        21: .line 310
            aload 1 /* factoryClassName */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc " doesn't support given "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* uri */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        22: .line 311
            ldc " object model"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        23: .line 309
            invokespecial javax.xml.xpath.XPathFactoryConfigurationException.<init>:(Ljava/lang/String;)V
            athrow
        end local 4 // javax.xml.xpath.XPathFactory f
        end local 3 // java.lang.ClassLoader cl
        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   24     0               uri  Ljava/lang/String;
            0   24     1  factoryClassName  Ljava/lang/String;
            0   24     2       classLoader  Ljava/lang/ClassLoader;
            1   24     3                cl  Ljava/lang/ClassLoader;
           12   24     4                 f  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"