org.apache.xalan.xsltc.dom
Class SAXImpl.NodeValueIterator

java.lang.Object
  extended by org.apache.xml.dtm.ref.DTMAxisIteratorBase
      extended by org.apache.xml.dtm.ref.DTMDefaultBaseIterators.InternalAxisIteratorBase
          extended by org.apache.xalan.xsltc.dom.SAXImpl.NodeValueIterator
All Implemented Interfaces:
java.lang.Cloneable, DTMAxisIterator
Enclosing class:
SAXImpl

private final class SAXImpl.NodeValueIterator
extends DTMDefaultBaseIterators.InternalAxisIteratorBase

This is a specialised iterator for predicates comparing node or attribute values to variable or parameter values.


Field Summary
private  boolean _isReverse
           
private  boolean _op
           
private  int _returnType
           
private  DTMAxisIterator _source
           
private  java.lang.String _value
           
 
Fields inherited from class org.apache.xml.dtm.ref.DTMDefaultBaseIterators.InternalAxisIteratorBase
_currentNode
 
Fields inherited from class org.apache.xml.dtm.ref.DTMAxisIteratorBase
_includeSelf, _isRestartable, _last, _markedNode, _position, _startNode
 
Fields inherited from interface org.apache.xml.dtm.DTMAxisIterator
END
 
Constructor Summary
SAXImpl.NodeValueIterator(DTMAxisIterator source, int returnType, java.lang.String value, boolean op)
           
 
Method Summary
 DTMAxisIterator cloneIterator()
          Returns a deep copy of this iterator.
 void gotoMark()
          Restores the current node remembered by setMark().
 boolean isReverse()
           
 int next()
          Get the next node in the iteration.
 DTMAxisIterator reset()
          Resets the iterator to the last start node.
 void setMark()
          Remembers the current node for the next call to gotoMark().
 void setRestartable(boolean isRestartable)
          Set if restartable.
 DTMAxisIterator setStartNode(int node)
          Set start to END should 'close' the iterator, i.e.
 
Methods inherited from class org.apache.xml.dtm.ref.DTMAxisIteratorBase
getAxis, getLast, getNodeByPosition, getPosition, getStartNode, includeSelf, isDocOrdered, resetPosition, returnNode
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

_source

private DTMAxisIterator _source

_value

private java.lang.String _value

_op

private boolean _op

_isReverse

private final boolean _isReverse

_returnType

private int _returnType
Constructor Detail

SAXImpl.NodeValueIterator

public SAXImpl.NodeValueIterator(DTMAxisIterator source,
                                 int returnType,
                                 java.lang.String value,
                                 boolean op)
Method Detail

isReverse

public boolean isReverse()
Specified by:
isReverse in interface DTMAxisIterator
Overrides:
isReverse in class DTMAxisIteratorBase
Returns:
true if this iterator has a reversed axis, else false

cloneIterator

public DTMAxisIterator cloneIterator()
Description copied from class: DTMAxisIteratorBase
Returns a deep copy of this iterator. Cloned iterators may not be restartable. The iterator being cloned may or may not become non-restartable as a side effect of this operation.

Specified by:
cloneIterator in interface DTMAxisIterator
Overrides:
cloneIterator in class DTMAxisIteratorBase
Returns:
a deep copy of this iterator.

setRestartable

public void setRestartable(boolean isRestartable)
Description copied from interface: DTMAxisIterator
Set if restartable.

Specified by:
setRestartable in interface DTMAxisIterator
Overrides:
setRestartable in class DTMAxisIteratorBase

reset

public DTMAxisIterator reset()
Description copied from interface: DTMAxisIterator
Resets the iterator to the last start node.

Specified by:
reset in interface DTMAxisIterator
Overrides:
reset in class DTMAxisIteratorBase
Returns:
A DTMAxisIterator which has been reset to the start node, which may or may not be the same as this iterator.

next

public int next()
Description copied from interface: DTMAxisIterator
Get the next node in the iteration.

Returns:
The next node handle in the iteration, or END.

setStartNode

public DTMAxisIterator setStartNode(int node)
Description copied from interface: DTMAxisIterator
Set start to END should 'close' the iterator, i.e. subsequent call to next() should return END.

Parameters:
node - Sets the root of the iteration.
Returns:
A DTMAxisIterator set to the start of the iteration.

setMark

public void setMark()
Description copied from class: DTMDefaultBaseIterators.InternalAxisIteratorBase
Remembers the current node for the next call to gotoMark(). %REVIEW% Should this save _position too?

Specified by:
setMark in interface DTMAxisIterator
Overrides:
setMark in class DTMDefaultBaseIterators.InternalAxisIteratorBase

gotoMark

public void gotoMark()
Description copied from class: DTMDefaultBaseIterators.InternalAxisIteratorBase
Restores the current node remembered by setMark(). %REVEIW% Should this restore _position too?

Specified by:
gotoMark in interface DTMAxisIterator
Overrides:
gotoMark in class DTMDefaultBaseIterators.InternalAxisIteratorBase