com.saxonica.update
Class InsertAttributeAction

java.lang.Object
  extended by com.saxonica.update.PendingUpdateAction
      extended by com.saxonica.update.InsertAttributeAction

public class InsertAttributeAction
extends PendingUpdateAction

A pending update action representing the insert attribute action.


Constructor Summary
InsertAttributeAction(NodeInfo element, int nameCode, int typeCode, CharSequence value, int properties)
          Create a InsertAttributeAction
 
Method Summary
 void apply(XPathContext context, 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.
 int getNewNameCode()
          Get the name of the inserted attribute as an integer namecode
 CharSequence getNewStringValue()
          Get the string value of the inserted attribute
 int getNewTypeCode()
          Get the type code of the inserted attribute
 NodeInfo getTargetNode()
          Get the target node of the update action
 
Methods inherited from class com.saxonica.update.PendingUpdateAction
getOriginator, setOriginator
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

InsertAttributeAction

public InsertAttributeAction(NodeInfo element,
                             int nameCode,
                             int typeCode,
                             CharSequence value,
                             int properties)
Create a InsertAttributeAction

Parameters:
element - the element into which it is to be inserted
nameCode - the name of the new attribute
typeCode - the type annotation of the new attribute
value - the string value of the new attribute
properties - properties including IS_ID and IS_IDREF properties
Method Detail

apply

public void apply(XPathContext context,
                  Set affectedRootSet)
           throws XPathException
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 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 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.

getNewNameCode

public int getNewNameCode()
Get the name of the inserted attribute as an integer namecode

Returns:
the new name as an integer namecode

getNewTypeCode

public int getNewTypeCode()
Get the type code of the inserted attribute

Returns:
the type annotation as an integer namecode of a type

getNewStringValue

public CharSequence getNewStringValue()
Get the string value of the inserted attribute

Returns:
the string value of the new attribute

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


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