net.sf.saxon.trace
Class ContextStackIterator

java.lang.Object
  extended by net.sf.saxon.trace.ContextStackIterator
All Implemented Interfaces:
Iterator<ContextStackFrame>

public class ContextStackIterator
extends Object
implements Iterator<ContextStackFrame>

This class provides a representation of the current runtime call stack, as represented by the stack of XPathContext objects.


Constructor Summary
ContextStackIterator(XPathContext context)
          Create an iterator over the stack of XPath dynamic context objects, starting with the top-most stackframe and working down.
 
Method Summary
 boolean hasNext()
          Returns true if the iteration has more elements.
 ContextStackFrame next()
          Returns the next element in the iteration.
 void remove()
          Removes from the underlying collection the last element returned by the iterator (optional operation).
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

ContextStackIterator

public ContextStackIterator(XPathContext context)
Create an iterator over the stack of XPath dynamic context objects, starting with the top-most stackframe and working down. The objects returned by this iterator will be of class ContextStackFrame. Note that only "major" context objects are considered - those that have a stack frame of their own.

Parameters:
context - the current context
Method Detail

hasNext

public boolean hasNext()
Returns true if the iteration has more elements. (In other words, returns true if next would return an element rather than throwing an exception.)

Specified by:
hasNext in interface Iterator<ContextStackFrame>
Returns:
true if the iterator has more elements.

next

public ContextStackFrame next()
Returns the next element in the iteration. Calling this method repeatedly until the hasNext() method returns false will return each element in the underlying collection exactly once.

Specified by:
next in interface Iterator<ContextStackFrame>
Returns:
the next element in the iteration, which will always be an instance of ContextStackFrame
Throws:
NoSuchElementException - iteration has no more elements.

remove

public void remove()
Removes from the underlying collection the last element returned by the iterator (optional operation).

Specified by:
remove in interface Iterator<ContextStackFrame>
Throws:
UnsupportedOperationException - as the remove operation is not supported by this Iterator.


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