package com.tinkerpop.blueprints.util.wrappers.event; import com.tinkerpop.blueprints.Element; import com.tinkerpop.blueprints.Index; import java.util.Iterator; /** * A sequence of indices that applies the list of listeners into each element. * * @author Stephen Mallette */ class EventIndexIterable<T extends Element> implements Iterable<Index<T>> { private final Iterable<Index<T>> iterable; private final EventGraph eventGraph; public EventIndexIterable(final Iterable<Index<T>> iterable, final EventGraph eventGraph) { this.iterable = iterable; this.eventGraph = eventGraph; } public Iterator<Index<T>> iterator() { return new Iterator<Index<T>>() { private final Iterator<Index<T>> itty = iterable.iterator(); public void remove() { this.itty.remove(); } public Index<T> next() { return new EventIndex<T>(this.itty.next(), eventGraph); } public boolean hasNext() { return itty.hasNext(); } }; } }