Class PendingUpdateListImpl

  • All Implemented Interfaces:
    PendingUpdateList

    public class PendingUpdateListImpl
    extends java.lang.Object
    implements PendingUpdateList
    Concrete implementation of the Pending Update List
    • Constructor Summary

      Constructors 
      Constructor Description
      PendingUpdateListImpl()
      Create a Pending Update List
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      void add​(PendingUpdateAction action)
      Add an action to the pending update list
      void addPutAction​(NodeInfo node, java.lang.String uri, Expression originator)
      Add a put() action to the pending update list
      void apply​(XPathContext context, int validationMode)
      Apply the pending updates
      java.util.Set<MutableNodeInfo> getAffectedTrees()
      Get the root nodes of the trees that are affected by updates in the pending update list
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Constructor Detail

      • PendingUpdateListImpl

        public PendingUpdateListImpl()
        Create a Pending Update List
    • Method Detail

      • add

        public void add​(PendingUpdateAction action)
                 throws XPathException
        Add an action to the pending update list
        Parameters:
        action - the Pending Update Action to be added to the list
        Throws:
        XPathException - if the pending update action conflicts with an action that is already on the list
      • addPutAction

        public void addPutAction​(NodeInfo node,
                                 java.lang.String uri,
                                 Expression originator)
                          throws XPathException
        Add a put() action to the pending update list
        Specified by:
        addPutAction in interface PendingUpdateList
        Parameters:
        node - (the first argument of put())
        uri - (the second argument of put())
        originator - the originating put() expression, for diagnostics
        Throws:
        XPathException - in the event of an error, for example two documents with the same URI
      • apply

        public void apply​(XPathContext context,
                          int validationMode)
                   throws XPathException
        Apply the pending updates
        Specified by:
        apply in interface PendingUpdateList
        Parameters:
        context - the XPath dynamic evaluation context
        validationMode - the revalidation mode from the static context
        Throws:
        XPathException - if the operation fails
      • getAffectedTrees

        public java.util.Set<MutableNodeInfo> getAffectedTrees()
        Get the root nodes of the trees that are affected by updates in the pending update list
        Specified by:
        getAffectedTrees in interface PendingUpdateList
        Returns:
        the root nodes of affected trees, as a Set. Note that this includes all trees that have been updated; this is a superset of the trees that need to be revalidated, but updates that don't require revalidation are sufficiently unusual that we don't trouble with the distinction.