Class EventProducingIterator<T>

java.lang.Object
org.djutils.event.LocalEventProducer
org.djutils.event.collection.EventProducingIterator<T>
Type Parameters:
T - the type of elements to iterate on
All Implemented Interfaces:
Serializable, Remote, Iterator<T>, EventProducer
Direct Known Subclasses:
EventProducingListIterator

public class EventProducingIterator<T> extends LocalEventProducer implements Iterator<T>, Serializable
The EventProducingIterator provides an iterator embedding the Iterator, which fires an event when an object has been removed. Note that one does not have to subscribe specifically to the events of the EventProducingIterator, as the EventProducing collection subscribes to the EventProducingIterator's remove events and fires these again to its subscribers.

Copyright (c) 2002-2024 Delft University of Technology, Jaffalaan 5, 2628 BX Delft, the Netherlands. All rights reserved. See for project information https://djutils.org. The DJUTILS project is distributed under a three-clause BSD-style license, which can be found at https://djutils.org/docs/license.html. This class was originally part of the DSOL project, see https://simulation.tudelft.nl/dsol/manual.

Author:
Peter Jacobs , Alexander Verbraeck
See Also:
  • Field Details

    • OBJECT_REMOVED_EVENT

      public static final EventType OBJECT_REMOVED_EVENT
      OBJECT_REMOVED_EVENT is fired on removal of entries.
  • Constructor Details

    • EventProducingIterator

      public EventProducingIterator(Iterator<T> wrappedIterator)
      constructs a new EventProducingIterator, embedding the parent Iterator.
      Parameters:
      wrappedIterator - Iterator<T>; parent.
  • Method Details

    • hasNext

      public boolean hasNext()
      Specified by:
      hasNext in interface Iterator<T>
    • next

      public T next()
      Specified by:
      next in interface Iterator<T>
    • remove

      public void remove()
      Specified by:
      remove in interface Iterator<T>
    • getWrappedIterator

      protected Iterator<T> getWrappedIterator()
      Return the embedded iterator.
      Returns:
      parent Iterator<T>; the embedded iterator