/** return *and remember* the next element. It must be remembered so that remove works whichever next-method is called. */ @Override public Statement next() { return current = super.next(); }
/** Answer the next object, remembering it in <code>current</code>. @see java.util.Iterator#next() */ @Override public Triple next() { return current = super.next(); } }
@Override public RDFNode nextNode() { return super.next(); }
/** * Fetch the next object to be returned, only if not already seen. * Subclasses which need to filter on different objects than the * return values should override this method. * @return the object to be returned or null if the object has been filtered. */ protected T nextIfNew() { T value = super.next(); return seen.add( value ) ? value : null; }
private void fill() { while ( top < buffer.length && super.hasNext() ) { buffer[top++] = super.next(); } }
/** Answer true iff there is at least one more acceptable object. [Stores reference into <code>current</code>, sets <code>canRemove</code> false; answer preserved in `hasCurrent`] */ @Override public boolean hasNext() { while (!hasCurrent && super.hasNext()) hasCurrent = accept( current = super.next() ); canRemove = false; return hasCurrent; }