Class 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 Detail

      • reverse

        private boolean reverse
      • 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.
      • prepare

        private void prepare()
        Prepare...