Package org.apache.commons.jxpath

# Class AbstractFactory

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

public abstract class AbstractFactory extends Object
The `JXPathContext.createPath()` method of JXPathContext can create missing objects as it traverses an XPath; it utilizes an AbstractFactory for that purpose. Install a factory on JXPathContext by calling `JXPathContext. setFactory()`.

All methods of this class return false. Override any of them to return true to indicate that the factory has successfully created the described object.

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `AbstractFactory()`
  Constructs a new instance for subclasses.

- ## Method Summary

  Modifier and Type
  Method
  Description
  `boolean`
  `createObject(JXPathContext context, Pointer pointer, Object parent, String name, int index)`
  The parameters may describe a collection element or an individual object.
  `boolean`
  `declareVariable(JXPathContext context, String name)`
  Declare the specified variable

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

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

- ## Constructor Details

  - ### AbstractFactory

    public AbstractFactory()
    Constructs a new instance for subclasses.

- ## Method Details

  - ### createObject

    public boolean createObject(JXPathContext context, Pointer pointer, Object parent, String name, int index)
    The parameters may describe a collection element or an individual object. It is up to the factory to infer which one it is. If it is a collection, the factory should check if the collection exists. If not, it should create the collection. Then it should create the index'th element of the collection and return true.
    Parameters:
      `context` - can be used to evaluate other XPaths, get to variables etc.
      `pointer` - describes the location of the node to be created
      `parent` - is the object that will serve as a parent of the new object
      `name` - is the name of the child of the parent that needs to be created. In the case of DOM may be qualified.
      `index` - is used if the pointer represents a collection element. You may need to expand or even create the collection to accommodate the new element.
    Returns:
      true if the object was successfully created

  - ### declareVariable

    public boolean declareVariable(JXPathContext context, String name)
    Declare the specified variable
    Parameters:
      `context` - hosts variable pools. See `JXPathContext.getVariables()`
      `name` - is the name of the variable without the "$" sign
    Returns:
      true if the variable was successfully defined