## com.saxonica.update
Class ReplaceNodeAction

    java.lang.Object
      com.saxonica.update.ReplaceNodeAction

All Implemented Interfaces:
  PendingUpdateAction

    public class ReplaceNodeAction

extends java.lang.Object
implements PendingUpdateAction

A pending update action representing the effect of a "replace node" expression

Constructor Summary
`ReplaceNodeAction(NodeInfo[] content, MutableNodeInfo targetNode, boolean preserveTypes)` Create a ReplaceNodeAction

Method Summary
`void` `apply(XPathContext context, java.util.Set affectedRootSet)` Apply the pending update action to the affected nodes
`int` `getApplyPhase()` Get the phase of operation in which this pending update action is applied.
`NodeInfo[]` `getNewContent()` Get the list of nodes acting as the replacement nodes
`NodeInfo` `getTargetNode()` Get the target node of the update action

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Constructor Detail

### ReplaceNodeAction

    public ReplaceNodeAction(NodeInfo[] content,
                             MutableNodeInfo targetNode,
                             boolean preserveTypes)

  Create a ReplaceNodeAction

  Parameters:
    `content` - the content sequence to be inserted (a value which must consist entirely of nodes. The caller is responsible for copying the nodes into the same object model representation as the tree into which they will be inserted; also for merging adjacent text nodes, extracting the children of a document node, and so on.)
    `targetNode` - the node that defines where the new nodes will be inserted

Method Detail

### apply

    public void apply(XPathContext context,
                      java.util.Set affectedRootSet)

  Apply the pending update action to the affected nodes

  Specified by:
    `apply` in interface `PendingUpdateAction`
  Parameters:
    `context` - the XPath evaluation context
    `affectedRootSet` - the set of roots 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 NodeInfo getTargetNode()

  Get the target node of the update action

  Specified by:
    `getTargetNode` in interface `PendingUpdateAction`
  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.

### getNewContent

    public NodeInfo[] getNewContent()

  Get the list of nodes acting as the replacement nodes

  Returns:
    the replacement nodes

### getApplyPhase

    public int getApplyPhase()

  Get the phase of operation in which this pending update action is applied. See 3.2.2 upd:applyUpdates, Semantics, rule 2.

  Specified by:
    `getApplyPhase` in interface `PendingUpdateAction`
  Returns:
    the phase of operation, an integer in the range 1 to 5 representing the stages labelled a-e in the specification

Copyright (c) Saxonica Limited. All rights reserved.