Package com.saxonica.ee.update

## Class InsertAction

- java.lang.Object
- - com.saxonica.ee.update.PendingUpdateAction
  - - com.saxonica.ee.update.InsertAction

-     public class InsertAction
      extends PendingUpdateAction

  A pending update action representing the effect of an insert expression

- - ### Constructor Summary

    Constructors
    Constructor | Description
    --- | ---
    `InsertAction​(NodeInfo[] content, MutableNodeInfo targetNode, int position, boolean inherit)` | Create an InsertAction

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `void` | `apply​(XPathContext context, java.util.Set<MutableNodeInfo> 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` | `getTargetNode()` | Get the target node of the update action

    - ### Methods inherited from class com.saxonica.ee.update.PendingUpdateAction

      `fixNodeName, getOriginator, setOriginator`

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Constructor Detail

    - #### InsertAction

          public InsertAction​(NodeInfo[] content,
                              MutableNodeInfo targetNode,
                              int position,
                              boolean inherit)

      Create an InsertAction
      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
        `position` - defines where the nodes will be inserted: before or after the target node, or as the first or last child of the target node.

  - ### Method Detail

    - #### apply

          public void apply​(XPathContext context,
                            java.util.Set<MutableNodeInfo> affectedRootSet)

      Apply the pending update action to the affected nodes
      Specified by:
        `apply` in class `PendingUpdateAction`
      Parameters:
        `context` - the XPath evaluation context
        `affectedRootSet` - the set of roots of trees that have been modified, which

    - #### getTargetNode

          public NodeInfo getTargetNode()

      Get the target node of the update action
      Specified by:
        `getTargetNode` in class `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.

    - #### 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 class `PendingUpdateAction`
      Returns:
        the phase of operation, an integer in the range 1 to 5 representing the stages labelled a-e in the specification