Package com.saxonica.ee.update
Class PendingUpdateAction
java.lang.Object
com.saxonica.ee.update.PendingUpdateAction
- Direct Known Subclasses:
DeleteAction
,InsertAction
,InsertAttributeAction
,PutAction
,RenameAction
,ReplaceAttributeAction
,ReplaceNodeAction
,ReplaceValueAction
A pending update action, such as is found on a pending update list
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionabstract void
apply
(XPathContext context, Set<MutableNodeInfo> affectedRootSet) Apply the pending update action to the affected nodesprotected NodeName
fixNodeName
(NodeName name) Fix a supplied node name for retention in the pending update list.abstract int
Get the phase of operation in which this pending update action is applied.Get the originating update expression.abstract NodeInfo
Get the target node of the update actionvoid
setOriginator
(Expression originator) Set the originating update expression.
-
Constructor Details
-
PendingUpdateAction
public PendingUpdateAction()
-
-
Method Details
-
setOriginator
Set the originating update expression. This is used for diagnostics.- Parameters:
originator
- the originating expression
-
getOriginator
Get the originating update expression. This is used for diagnostics.- Returns:
- the originating expression
-
apply
public abstract void apply(XPathContext context, Set<MutableNodeInfo> affectedRootSet) throws XPathException Apply the pending update action to the affected nodes- Parameters:
context
- the XPath evaluation contextaffectedRootSet
- the set of root nodes of trees that have been modified, which this action should add to as necessary- Throws:
XPathException
- if any error occurs applying the update
-
getTargetNode
Get the target node of the update action- Returns:
- the target node, the node to which this update action applies. Returns null in the case of a delete action, which affects multiple nodes.
-
getApplyPhase
public abstract int getApplyPhase()Get the phase of operation in which this pending update action is applied. See 3.2.2 upd:applyUpdates, Semantics, rule 2.- Returns:
- the phase of operation, an integer in the range 1 to 5 representing the stages labelled a-e in the specification, or 6 for a PutAction
-
fixNodeName
Fix a supplied node name for retention in the pending update list. Names held here must not contain references to mutable nodes- Parameters:
name
- the supplied node name- Returns:
- an immutable copy of the supplied node name
-