Class ThreadSafeDelayedIteration<E>

  • All Implemented Interfaces:
    AutoCloseable, Iterator<E>, CloseableIteration<E>

    public abstract class ThreadSafeDelayedIteration<E>
    extends AbstractCloseableIteration<E>
    An iteration that delays the creation of the underlying iteration until it is being accessed. This is mainly useful for situations where iteration creation adds considerable overhead but where the iteration may not actually be used, or where a created iteration consumes scarce resources like JDBC-connections or memory. Subclasses must implement the createIteration method, which is called once when the iteration is first needed.
    • Constructor Detail

      • ThreadSafeDelayedIteration

        protected ThreadSafeDelayedIteration()
        Creates a new DelayedIteration.
    • Method Detail

      • createIteration

        protected abstract CloseableIteration<? extends E> createIteration()
        Creates the iteration that should be iterated over. This method is called only once, when the iteration is first needed.
      • hasNext

        public boolean hasNext()
        Calls the hasNext method of the underlying iteration.
      • next

        public E next()
        Calls the next method of the underlying iteration.
      • remove

        public void remove()
        Calls the remove method of the underlying iteration.