com.saxonica.update
Class PendingUpdateAction

java.lang.Object
  extended by com.saxonica.update.PendingUpdateAction
Direct Known Subclasses:
DeleteAction, InsertAction, InsertAttributeAction, PutAction, RenameAction, ReplaceAttributeAction, ReplaceNodeAction, ReplaceValueAction

public abstract class PendingUpdateAction
extends Object

A pending update action, such as is found on a pending update list


Constructor Summary
PendingUpdateAction()
           
 
Method Summary
abstract  void apply(XPathContext context, Set affectedRootSet)
          Apply the pending update action to the affected nodes
abstract  int getApplyPhase()
          Get the phase of operation in which this pending update action is applied.
 Expression getOriginator()
          Get the originating update expression.
abstract  NodeInfo getTargetNode()
          Get the target node of the update action
 void setOriginator(Expression originator)
          Set the originating update expression.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

PendingUpdateAction

public PendingUpdateAction()
Method Detail

setOriginator

public void setOriginator(Expression originator)
Set the originating update expression. This is used for diagnostics.

Parameters:
originator - the originating expression

getOriginator

public Expression getOriginator()
Get the originating update expression. This is used for diagnostics.

Returns:
the originating expression

apply

public abstract void apply(XPathContext context,
                           Set affectedRootSet)
                    throws XPathException
Apply the pending update action to the affected nodes

Parameters:
context - the XPath evaluation context
affectedRootSet - 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

public abstract NodeInfo 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


Copyright (c) Saxonica Limited. All rights reserved.