Class FilteringNodeIterator

  • All Implemented Interfaces:
    Iterator, NodeIterator, RangeIterator

    public class FilteringNodeIterator
    extends Object
    implements NodeIterator
    A wrapper around a NodeIterator filtering out nodes from the base iterator that don't match the specified filter. Due to the nature of the filter mechanism the size if the iterator may shrink upon iteration.
    • Method Detail

      • skip

        public void skip​(long skipNum)
        Description copied from interface: RangeIterator
        Skip a number of elements in the iterator.
        Specified by:
        skip in interface RangeIterator
        Parameters:
        skipNum - the non-negative number of elements to skip
        See Also:
        RangeIterator.skip(long)
      • getSize

        public long getSize()
        Description copied from interface: RangeIterator
        Returns the total number of of items available through this iterator. For example, for some node N, N.getNodes().getSize() returns the number of child nodes of N visible through the current Session. In some implementations precise information about the number of elements may not be available. In such cases this method must return -1. API clients will then be able to use RangeIterator.getNumberRemaining to get an estimate on the number of elements.
        Specified by:
        getSize in interface RangeIterator
        Returns:
        a long
        See Also:
        RangeIterator.getSize()
      • getPosition

        public long getPosition()
        Description copied from interface: RangeIterator
        Returns the current position within the iterator. The number returned is the 0-based index of the next element in the iterator, i.e. the one that will be returned on the subsequent next call.

        Note that this method does not check if there is a next element, i.e. an empty iterator will always return 0.

        Specified by:
        getPosition in interface RangeIterator
        Returns:
        a long
        See Also:
        RangeIterator.getPosition()