Class EventProducingIterator<T>

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

public class EventProducingIterator<T>
extends EventProducer
implements Iterator<T>
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-2020 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:
Serialized Form
  • Field Details

  • Constructor Details

    • EventProducingIterator

      public EventProducingIterator​(Iterator<T> parent, Serializable sourceId)
      constructs a new EventProducingIterator, embedding the parent Iterator.
      Parameters:
      parent - Iterator<T>; parent.
      sourceId - Serializable; the id by which the EventProducer can be identified by the EventListener
    • EventProducingIterator

      public EventProducingIterator​(Iterator<T> parent, IdProvider sourceIdProvider)
      Constructs a new EventProducingIterator, embedding the parent iterator.
      Parameters:
      parent - Iterator<T>; the parent set.
      sourceIdProvider - IdProvider; the function that produces the id by which the EventProducer can be identified by the EventListener
  • Method Details