Interface PerceptionCollectable<H extends Headway,U>

Type Parameters:
H - headway type
U - underlying object type
All Superinterfaces:
Iterable<H>, PerceptionIterable<H>
All Known Implementing Classes:
AbstractPerceptionReiterable, MultiLanePerceptionIterable, PerceptionCollectableFiltered

public interface PerceptionCollectable<H extends Headway,U> extends PerceptionIterable<H>
Iterable that additionally provides support for PerceptionCollectors. These gather raw data, to only 'perceive' the result.

Copyright (c) 2013-2024 Delft University of Technology, PO Box 5, 2600 AA, Delft, the Netherlands. All rights reserved.
BSD-style license. See OpenTrafficSim License.

Author:
Alexander Verbraeck, Peter Knoppers, Wouter Schakel
  • Method Details

    • collect

      default <C, I> C collect(PerceptionCollectable.PerceptionCollector<C,? super U,I> collector)
      Collect the underlying objects in to a perceived result. This methodology is loosely based on Stream.collect().
      Type Parameters:
      C - collection result type
      I - intermediate type
      Parameters:
      collector - collector
      Returns:
      collection result
    • collect

      <C, I> C collect(Supplier<I> identity, PerceptionCollectable.PerceptionAccumulator<? super U,I> accumulator, Function<I,C> finalizer)
      Collect the underlying objects in to a perceived result. This methodology is loosely based on Stream.collect().
      Type Parameters:
      C - collection result type
      I - intermediate type
      Parameters:
      identity - the initial intermediate result value
      accumulator - accumulator
      finalizer - finalizer
      Returns:
      collection result
    • underlying

      Iterator<U> underlying()
      Returns an iterator over the underlying objects.
      Returns:
      iterator
    • underlyingWithDistance

      Returns an iterator over the underlying objects coupled with the distance.
      Returns:
      iterator