com.saxonica.update
Class PendingUpdateListImpl

java.lang.Object
  extended by com.saxonica.update.PendingUpdateListImpl
All Implemented Interfaces:
PendingUpdateList

public class PendingUpdateListImpl
extends Object
implements PendingUpdateList

Concrete implementation of the Pending Update List


Constructor Summary
PendingUpdateListImpl(Configuration config)
          Create a Pending Update List
 
Method Summary
 void add(PendingUpdateAction action)
          Add an action to the pending update list
 void addPutAction(NodeInfo node, String uri, Expression originator)
          Add a put() action to the pending update list
 void apply(XPathContext context, int validationMode)
          Apply the pending updates
 Set 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(Configuration config)
Create a Pending Update List

Parameters:
config - the Saxon configuration
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,
                         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

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

getAffectedTrees

public Set 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.


Copyright (c) 2004-2011 Saxonica Limited. All rights reserved.