Package org.apache.commons.jxpath

# Class JXPathContextFactory

java.lang.Object
org.apache.commons.jxpath.JXPathContextFactory

Direct Known Subclasses:
  `JXPathContextFactoryReferenceImpl`

public abstract class JXPathContextFactory extends Object
Defines a factory API that enables applications to obtain a `JXPathContext` instance. To acquire a JXPathContext, first call the static `newInstance()` method of JXPathContextFactory. This method returns a concrete JXPathContextFactory. Then call `newContext(org.apache.commons.jxpath.JXPathContext, java.lang.Object)` on that instance. You will rarely need to perform these steps explicitly: usually you can call one of the `JXPathContex.newContext` methods, which will perform these steps for you.

See Also:
  - `JXPathContext.newContext(Object)`
  - `JXPathContext.newContext(JXPathContext,Object)`

- ## Field Summary

  Fields
  Modifier and Type
  Field
  Description
  `static final String`
  `FACTORY_NAME_PROPERTY`
  The default property

- ## Constructor Summary

  Constructors
  Modifier
  Constructor
  Description
  `protected`
  `JXPathContextFactory()`
  Constructs a new JXPathContextFactory.

- ## Method Summary

  Modifier and Type
  Method
  Description
  `abstract JXPathContext`
  `newContext(JXPathContext parentContext, Object contextBean)`
  Creates a new instance of a JXPathContext using the currently configured parameters.
  `static JXPathContextFactory`
  `newInstance()`
  Obtain a new instance of a `JXPathContextFactory`.

  ### Methods inherited from class java.lang.Object

  `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- ## Field Details

  - ### FACTORY_NAME_PROPERTY

    public static final String FACTORY_NAME_PROPERTY
    The default property
    See Also:
      - Constant Field Values

- ## Constructor Details

  - ### JXPathContextFactory

    protected JXPathContextFactory()
    Constructs a new JXPathContextFactory.

- ## Method Details

  - ### newInstance

    public static JXPathContextFactory newInstance()
    Obtain a new instance of a `JXPathContextFactory`. This static method creates a new factory instance. This method uses the following ordered lookup procedure to determine the `JXPathContextFactory` implementation class to load:
    - Use the `org.apache.commons.jxpath.JXPathContextFactory` system property.
    - Alternatively, use the JAVA_HOME (the parent directory where jdk is installed)/lib/jxpath.properties for a property file that contains the name of the implementation class keyed on `org.apache.commons.jxpath.JXPathContextFactory`.
    - Use the Services API (as detailed in the JAR specification), if available, to determine the class name. The Services API will look for a class name in the file `META- INF/services/<i>org.apache.commons.jxpath. JXPathContextFactory</i>` in jars available to the runtime.
    - Platform default `JXPathContextFactory` instance.
    Once an application has obtained a reference to a `JXPathContextFactory` it can use the factory to obtain JXPathContext instances.
    Returns:
      JXPathContextFactory
    Throws:
      `JXPathContextFactoryConfigurationError` - if the implementation is not available or cannot be instantiated.

  - ### newContext

    public abstract JXPathContext newContext(JXPathContext parentContext, Object contextBean)
    Creates a new instance of a JXPathContext using the currently configured parameters.
    Parameters:
      `parentContext` - parent context
      `contextBean` - Object bean
    Returns:
      JXPathContext
    Throws:
      `JXPathContextFactoryConfigurationError` - if a JXPathContext cannot be created which satisfies the configuration requested