Class SingletonExpression

Direct Known Subclasses:
AttributeReference, ContextNodeExpression, ParentNodeExpression, RootExpression

public abstract class SingletonExpression extends NodeSetExpression
A node set expression that will always return zero or one nodes
  • Constructor Details

    • SingletonExpression

      public SingletonExpression()
  • Method Details

    • isContextDocumentNodeSet

      public boolean isContextDocumentNodeSet()
      Determine, in the case of an expression whose data type is Value.NODESET, whether all the nodes in the node-set are guaranteed to come from the same document as the context node. Used for optimization.
      Overrides:
      isContextDocumentNodeSet in class Expression
    • getNode

      public abstract NodeInfo getNode(Context context) throws XPathException
      Get the single node to which this expression refers
      Throws:
      XPathException
    • selectFirst

      public NodeInfo selectFirst(Context context) throws XPathException
      Return the first node selected by this Expression when evaluated in the current context
      Overrides:
      selectFirst in class NodeSetExpression
      Parameters:
      context - The context for the evaluation
      Returns:
      the NodeInfo of the first node in document order, or null if the node-set is empty.
      Throws:
      XPathException
    • enumerate

      public NodeEnumeration enumerate(Context context, boolean sort) throws XPathException
      Evaluate the expression in a given context to return a Node enumeration
      Specified by:
      enumerate in class NodeSetExpression
      Parameters:
      context - the evaluation context
      sort - Indicates result must be in document order
      Throws:
      XPathException - when the expression does not return a nodeset.
    • evaluateAsNodeSet

      public NodeSetValue evaluateAsNodeSet(Context context) throws XPathException
      Evaluate an expression as a NodeSet.
      Overrides:
      evaluateAsNodeSet in class NodeSetExpression
      Parameters:
      context - The context in which the expression is to be evaluated
      Returns:
      the value of the expression, evaluated in the current context
      Throws:
      XPathException - when the expression does not return a nodeset.
    • evaluateAsString

      public String evaluateAsString(Context context) throws XPathException
      Evaluate as a string. Returns the string value of the node if it exists
      Overrides:
      evaluateAsString in class NodeSetExpression
      Parameters:
      context - The context in which the expression is to be evaluated
      Returns:
      true if there are any nodes selected by the NodeSetExpression
      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 NodeSetExpression
      Parameters:
      context - The context in which the expression is to be evaluated
      Returns:
      true if there are any nodes selected by the NodeSetExpression
      Throws:
      XPathException