Class HistoricalEnumMap<K extends Enum<K>,​V>

  • Type Parameters:
    K - key type
    V - value type
    All Implemented Interfaces:
    Map<K,​V>, HistoricalMap<K,​V>, HistoryManager.HistoricalElement

    public class HistoricalEnumMap<K extends Enum<K>,​V>
    extends AbstractHistoricalMap<K,​V,​EnumMap<K,​V>>
    EnumMap-valued historical state. The current enum map is always maintained, and past states of the enum map are obtained by applying the events between now and the requested time in reverse.

    The set views returned by this class are unmodifiable.

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

    Version:
    $Revision$, $LastChangedDate$, by $Author$, initial version 4 feb. 2018
    Author:
    Alexander Verbraeck, Peter Knoppers, Wouter Schakel
    • Constructor Detail

      • HistoricalEnumMap

        public HistoricalEnumMap​(HistoryManager historyManager,
                                 Class<K> clazz)
        Construct a new, empty HistoricalEnumMap.
        Parameters:
        historyManager - HistoryManager; history manager
        clazz - Class<K>; enum class
      • HistoricalEnumMap

        public HistoricalEnumMap​(HistoryManager historyManager,
                                 EnumMap<K,​? extends V> m,
                                 Class<K> clazz)
        Construct a new HistoricalEnumMap and add all elements of the given initial map to it.
        Parameters:
        historyManager - HistoryManager; history manager
        m - EnumMap<K, ? extends V>; initial map
        clazz - Class<K>; enum class
    • Method Detail

      • get

        public EnumMap<K,​V> get()
        Retrieve the current, internal map. TODO document what the caller may do with the result.
        Returns:
        Map; current map
      • get

        public EnumMap<K,​V> get​(Time time)
        Retrieve a past map.
        Parameters:
        time - Time; time to obtain the map at
        Returns:
        Map<K, V>; past map