/** * */ package org.openntf.domino.iterators; import java.util.Iterator; import java.util.logging.Logger; import org.openntf.domino.ViewEntry; import org.openntf.domino.ViewNavigator; /** * @author Nathan T. Freeman * */ public class ViewNavigatorEntryIterator implements Iterator<ViewEntry> { @SuppressWarnings("unused") private static final Logger log_ = Logger.getLogger(ViewNavigatorEntryIterator.class.getName()); private transient ViewNavigator navigator_; @SuppressWarnings("unused") private transient ViewEntry previousEntry_; private transient ViewEntry currentEntry_; private transient ViewEntry nextEntry_; /** * Instantiates a new view entry iterator. * * @param navigator * the navigator */ public ViewNavigatorEntryIterator(final ViewNavigator navigator) { navigator_ = navigator; } public ViewNavigator getNavigator() { return navigator_; } /* * (non-Javadoc) * * @see java.util.Iterator#hasNext() */ @Override public boolean hasNext() { if (currentEntry_ != null) { nextEntry_ = getNavigator().getNext(currentEntry_); } else { nextEntry_ = getNavigator().getFirst(); } return nextEntry_ != null; } /* * (non-Javadoc) * * @see java.util.Iterator#next() */ @Override public ViewEntry next() { if (hasNext()) { previousEntry_ = currentEntry_; //TODO NTF use if we want to implement a ListIterator currentEntry_ = nextEntry_; nextEntry_ = null; return currentEntry_; } else { return null; } } /* * (non-Javadoc) * * @see java.util.Iterator#remove() */ @Override public void remove() { // NOOP } }