Package com.saxonica.ee.update
Class PendingUpdateListImpl
- java.lang.Object
-
- com.saxonica.ee.update.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 listvoid
addPutAction(NodeInfo node, java.lang.String uri, Expression originator)
Add a put() action to the pending update listvoid
apply(XPathContext context, int validationMode)
Apply the pending updatesjava.util.Set<MutableNodeInfo>
getAffectedTrees()
Get the root nodes of the trees that are affected by updates in the 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 interfacePendingUpdateList
- 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 interfacePendingUpdateList
- Parameters:
context
- the XPath dynamic evaluation contextvalidationMode
- 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 interfacePendingUpdateList
- 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.
-
-