org.apache.commons.jxpath.ri.model.beans
Class CollectionNodeIterator

java.lang.Object
  extended by org.apache.commons.jxpath.ri.model.beans.CollectionNodeIterator
All Implemented Interfaces:
NodeIterator
Direct Known Subclasses:
CollectionAttributeNodeIterator, CollectionChildNodeIterator

public abstract class CollectionNodeIterator
extends java.lang.Object
implements NodeIterator

Combines node iterators of all elements of a collection into one aggregate node iterator.

Version:
$Revision: 652845 $ $Date: 2008-05-02 12:46:46 -0500 (Fri, 02 May 2008) $
Author:
Dmitri Plotnikov

Field Summary
private  java.util.List collection
           
private  CollectionPointer pointer
           
private  int position
           
private  boolean reverse
           
private  NodePointer startWith
           
 
Constructor Summary
protected CollectionNodeIterator(CollectionPointer pointer, boolean reverse, NodePointer startWith)
          Create a new CollectionNodeIterator.
 
Method Summary
protected abstract  NodeIterator getElementNodeIterator(NodePointer elementPointer)
          Implemented by subclasses to produce child/attribute node iterators.
 NodePointer getNodePointer()
          Get the NodePointer at the current position.
 int getPosition()
          Get the current iterator position.
private  void prepare()
          Prepare...
 boolean setPosition(int position)
          Set the new current position.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

pointer

private CollectionPointer pointer

reverse

private boolean reverse

startWith

private NodePointer startWith

position

private int position

collection

private java.util.List collection
Constructor Detail

CollectionNodeIterator

protected CollectionNodeIterator(CollectionPointer pointer,
                                 boolean reverse,
                                 NodePointer startWith)
Create a new CollectionNodeIterator.

Parameters:
pointer - collection pointer
reverse - iteration order
startWith - starting pointer
Method Detail

getElementNodeIterator

protected abstract NodeIterator getElementNodeIterator(NodePointer elementPointer)
Implemented by subclasses to produce child/attribute node iterators.

Parameters:
elementPointer - owning pointer
Returns:
NodeIterator

getPosition

public int getPosition()
Description copied from interface: NodeIterator
Get the current iterator position.

Specified by:
getPosition in interface NodeIterator
Returns:
int position

setPosition

public boolean setPosition(int position)
Description copied from interface: NodeIterator
Set the new current position.

Specified by:
setPosition in interface NodeIterator
Parameters:
position - the position to set
Returns:
true if there is a node at position.

getNodePointer

public NodePointer getNodePointer()
Description copied from interface: NodeIterator
Get the NodePointer at the current position.

Specified by:
getNodePointer in interface NodeIterator
Returns:
NodePointer

prepare

private void prepare()
Prepare...