ParentNodeExpression
Date: 2016-07-03

com.icl.saxon.expr

## Class ParentNodeExpression

- java.lang.Object
- - com.icl.saxon.expr.Expression
  - - com.icl.saxon.expr.NodeSetExpression
    - - com.icl.saxon.expr.SingletonExpression
      - - com.icl.saxon.expr.ParentNodeExpression

-     public class ParentNodeExpression
      extends SingletonExpression

  Class ParentNodeExpression represents the XPath expression ".." or "parent::node()"

- - ### Field Summary

    - ### Fields inherited from class com.icl.saxon.expr.Expression

      `staticContext`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `ParentNodeExpression()`

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `void` | `display(int level)` Diagnostic print of expression structure
    `boolean` | `evaluateAsBoolean(Context context)` Evaluate as a boolean.
    `java.lang.String` | `evaluateAsString(Context context)` Evaluate as a string.
    `int` | `getDependencies()` Determine which aspects of the context the expression depends on.
    `NodeInfo` | `getNode(Context context)` Return the node selected by this SingletonExpression
    `Expression` | `reduce(int dependencies, Context context)` Perform a partial evaluation of the expression, by eliminating specified dependencies on the context.

    - ### Methods inherited from class com.icl.saxon.expr.SingletonExpression

      `enumerate, evaluateAsNodeSet, isContextDocumentNodeSet, selectFirst`

    - ### Methods inherited from class com.icl.saxon.expr.NodeSetExpression

      `evaluate, getDataType, outputStringValue`

    - ### Methods inherited from class com.icl.saxon.expr.Expression

      `containsReferences, evaluateAsNumber, getStaticContext, indent, make, setStaticContext, simplify, usesCurrent`

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

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

- - ### Constructor Detail

    - #### ParentNodeExpression

          public ParentNodeExpression()

  - ### Method Detail

    - #### getNode

          public NodeInfo getNode(Context context)
                           throws XPathException

      Return the node selected by this SingletonExpression
      Specified by:
        `getNode` in class `SingletonExpression`
      Parameters:
        `context` - The context for the evaluation
      Returns:
        the parent of the current node defined by the context
      Throws:
        `XPathException`

    - #### getDependencies

          public int getDependencies()

      Determine which aspects of the context the expression depends on. The result is a bitwise-or'ed value composed from constants such as Context.VARIABLES and Context.CURRENT_NODE
      Specified by:
        `getDependencies` in class `Expression`

    - #### evaluateAsString

          public java.lang.String evaluateAsString(Context context)
                                            throws XPathException

      Evaluate as a string. Returns the string value of the parent node
      Overrides:
        `evaluateAsString` in class `SingletonExpression`
      Parameters:
        `context` - The context in which the expression is to be evaluated
      Returns:
        the value of the current node, identified by the context
      Throws:
        `XPathException`

    - #### evaluateAsBoolean

          public boolean evaluateAsBoolean(Context context)
                                    throws XPathException

      Evaluate as a boolean. Returns true if there are any nodes selected by the NodeSetExpression.
      Overrides:
        `evaluateAsBoolean` in class `SingletonExpression`
      Parameters:
        `context` - The context in which the expression is to be evaluated
      Returns:
        true unless the current node is the Document node
      Throws:
        `XPathException`

    - #### reduce

          public Expression reduce(int dependencies,
                          Context context)
                            throws XPathException

      Perform a partial evaluation of the expression, by eliminating specified dependencies on the context.
      Specified by:
        `reduce` in class `Expression`
      Parameters:
        `dependencies` - The dependencies to be removed
        `context` - The context to be used for the partial evaluation
      Returns:
        a new expression that does not have any of the specified dependencies
      Throws:
        `XPathException`

    - #### display

          public void display(int level)

      Diagnostic print of expression structure
      Specified by:
        `display` in class `Expression`