org.apache.xalan.transformer
Class TransformSnapshotImpl

java.lang.Object
  extended byorg.apache.xalan.transformer.TransformSnapshotImpl
All Implemented Interfaces:
TransformSnapshot

class TransformSnapshotImpl
extends Object
implements TransformSnapshot

This class holds a "snapshot" of it's current transformer state, which can later be restored. This only saves state which can change over the course of the side-effect-free (i.e. no extensions that call setURIResolver, etc.).


Field Summary
private  Stack m_attrSetStack
          Stack for the purposes of flagging infinite recursion with attribute sets.
private  Stack m_axesIteratorStack
          Stack of AxesIterators.
private  DTMIterator m_contextNodeList
          The current context node list.
private  Stack m_contextNodeLists
          The current context node lists stack.
private  CountersTable m_countersTable
          The table of counters for xsl:number support.
private  IntStack m_currentExpressionNodes
          A stack of the current sub-expression nodes.
private  NodeVector m_currentMatchNodes
          A node vector used as a stack to track the current ElemTemplate that was matched, as well as the node that was matched.
private  Stack m_currentMatchTemplates
          A node vector used as a stack to track the current ElemTemplate that was matched, as well as the node that was matched.
private  IntStack m_currentNodes
          The stack of current node objects.
private  ObjectStack m_currentTemplateElements
          A node vector used as a stack to track the current ElemTemplateElement.
private  BoolStack m_currentTemplateRuleIsNull
          Is > 0 when we're processing a for-each.
(package private)  int m_eventCount
          The number of events queued
(package private)  boolean m_nsContextPushed
          Indicate whether a namespace context was pushed
private  org.xml.sax.helpers.NamespaceSupport m_nsSupport
          Use the SAX2 helper class to track result namespaces.
private  VariableStack m_variableStacks
          The stack of Variable stack frames.
 
Constructor Summary
(package private) TransformSnapshotImpl(TransformerImpl transformer)
          Constructor TransformSnapshotImpl Take a snapshot of the currently executing context.
 
Method Summary
(package private)  void apply(TransformerImpl transformer)
          This will reset the stylesheet to a given execution context based on some previously taken snapshot where we can then start execution
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

m_variableStacks

private VariableStack m_variableStacks
The stack of Variable stack frames.


m_currentNodes

private IntStack m_currentNodes
The stack of current node objects. Not to be confused with the current node list.


m_currentExpressionNodes

private IntStack m_currentExpressionNodes
A stack of the current sub-expression nodes.


m_contextNodeLists

private Stack m_contextNodeLists
The current context node lists stack.


m_contextNodeList

private DTMIterator m_contextNodeList
The current context node list.


m_axesIteratorStack

private Stack m_axesIteratorStack
Stack of AxesIterators.


m_currentTemplateRuleIsNull

private BoolStack m_currentTemplateRuleIsNull
Is > 0 when we're processing a for-each.


m_currentTemplateElements

private ObjectStack m_currentTemplateElements
A node vector used as a stack to track the current ElemTemplateElement. Needed for the org.apache.xalan.transformer.TransformState interface, so a tool can discover the calling template.


m_currentMatchTemplates

private Stack m_currentMatchTemplates
A node vector used as a stack to track the current ElemTemplate that was matched, as well as the node that was matched. Needed for the org.apache.xalan.transformer.TransformState interface, so a tool can discover the matched template, and matched node.


m_currentMatchNodes

private NodeVector m_currentMatchNodes
A node vector used as a stack to track the current ElemTemplate that was matched, as well as the node that was matched. Needed for the org.apache.xalan.transformer.TransformState interface, so a tool can discover the matched template, and matched node.


m_countersTable

private CountersTable m_countersTable
The table of counters for xsl:number support.

See Also:
ElemNumber

m_attrSetStack

private Stack m_attrSetStack
Stack for the purposes of flagging infinite recursion with attribute sets.


m_nsContextPushed

boolean m_nsContextPushed
Indicate whether a namespace context was pushed


m_nsSupport

private org.xml.sax.helpers.NamespaceSupport m_nsSupport
Use the SAX2 helper class to track result namespaces.


m_eventCount

int m_eventCount
The number of events queued

Constructor Detail

TransformSnapshotImpl

TransformSnapshotImpl(TransformerImpl transformer)
Constructor TransformSnapshotImpl Take a snapshot of the currently executing context.

Parameters:
transformer - Non null transformer instance
Method Detail

apply

void apply(TransformerImpl transformer)
This will reset the stylesheet to a given execution context based on some previously taken snapshot where we can then start execution

Parameters:
transformer - Non null transformer instance