Class NodeSetIntent


  • public class NodeSetIntent
    extends NodeSetValue
    A node-set value implemented intensionally. It is a wrapper round an Expression which can be evaluated independently of context, that is it has been reduced so there are no remaining context-dependencies.
    • Method Detail

      • getNodeSetExpression

        public NodeSetExpression getNodeSetExpression()
        Get the encapsulated NodeSetExpression
      • setSorted

        public void setSorted​(boolean isSorted)
        Set a flag to indicate whether the nodes are sorted. Used when the creator of the node-set knows that they are already in document order.
        Specified by:
        setSorted in class NodeSetValue
        Parameters:
        isSorted - true if the caller wishes to assert that the nodes will be delivered in document order and do not need to be further sorted
      • isSorted

        public boolean isSorted()
                         throws XPathException
        Test whether the value is known to be sorted
        Specified by:
        isSorted in class NodeSetValue
        Returns:
        true if the value is known to be sorted in document order, false if it is not known whether it is sorted.
        Throws:
        XPathException
      • 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
      • asString

        public java.lang.String asString()
                                  throws XPathException
        Convert to string value
        Specified by:
        asString in class NodeSetValue
        Returns:
        the value of the first node in the node-set if there is one, otherwise an empty string
        Throws:
        XPathException
      • getCount

        public int getCount()
                     throws XPathException
        Count the nodes in the node-set. Note this will sort the node set if necessary, to make sure there are no duplicates.
        Specified by:
        getCount in class NodeSetValue
        Throws:
        XPathException
      • sort

        public NodeSetValue sort()
                          throws XPathException
        Sort the nodes into document order. This does nothing if the nodes are already known to be sorted; to force a sort, call setSorted(false)
        Specified by:
        sort in class NodeSetValue
        Returns:
        the same NodeSetValue, after sorting.
        Throws:
        XPathException
      • selectFirst

        public NodeInfo selectFirst​(Context context)
                             throws XPathException
        Return the first node in the nodeset (in document order)
        Parameters:
        context - The context for the evaluation: not used
        Returns:
        the NodeInfo of the first node in document order, or null if the node-set is empty.
        Throws:
        XPathException