Class AbstractHistoricalNavigableMap<K,​V,​M extends java.util.NavigableMap<K,​V>>

  • Type Parameters:
    K - key type
    V - value type
    M - navigable map type
    All Implemented Interfaces:
    java.util.Map<K,​V>, java.util.NavigableMap<K,​V>, java.util.SortedMap<K,​V>, HistoricalMap<K,​V>, HistoricalNavigableMap<K,​V>, HistoricalSortedMap<K,​V>, HistoryManager.HistoricalElement
    Direct Known Subclasses:
    HistoricalTreeMap

    public abstract class AbstractHistoricalNavigableMap<K,​V,​M extends java.util.NavigableMap<K,​V>>
    extends AbstractHistoricalSortedMap<K,​V,​M>
    implements HistoricalNavigableMap<K,​V>
    NavigableMap-valued historical state. The current navigable map is always maintained, and past states of the navigable map are obtained by applying the events between now and the requested time in reverse.

    The set views and sub-maps 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 2 feb. 2018
    Author:
    Alexander Verbraeck, Peter Knoppers, Wouter Schakel
    • Constructor Detail

      • AbstractHistoricalNavigableMap

        protected AbstractHistoricalNavigableMap​(HistoryManager historyManager,
                                                 M map)
        Constructor.
        Parameters:
        historyManager - HistoryManager; history manager
        map - M; initial map
    • Method Detail

      • pollFirstEntry

        public java.util.Map.Entry<K,​V> pollFirstEntry()
        Specified by:
        pollFirstEntry in interface java.util.NavigableMap<K,​V>
      • pollLastEntry

        public java.util.Map.Entry<K,​V> pollLastEntry()
        Specified by:
        pollLastEntry in interface java.util.NavigableMap<K,​V>
      • lowerEntry

        public java.util.Map.Entry<K,​V> lowerEntry​(K key)
        Specified by:
        lowerEntry in interface java.util.NavigableMap<K,​V>
      • lowerKey

        public K lowerKey​(K key)
        Specified by:
        lowerKey in interface java.util.NavigableMap<K,​V>
      • floorEntry

        public java.util.Map.Entry<K,​V> floorEntry​(K key)
        Specified by:
        floorEntry in interface java.util.NavigableMap<K,​V>
      • floorKey

        public K floorKey​(K key)
        Specified by:
        floorKey in interface java.util.NavigableMap<K,​V>
      • ceilingEntry

        public java.util.Map.Entry<K,​V> ceilingEntry​(K key)
        Specified by:
        ceilingEntry in interface java.util.NavigableMap<K,​V>
      • ceilingKey

        public K ceilingKey​(K key)
        Specified by:
        ceilingKey in interface java.util.NavigableMap<K,​V>
      • higherEntry

        public java.util.Map.Entry<K,​V> higherEntry​(K key)
        Specified by:
        higherEntry in interface java.util.NavigableMap<K,​V>
      • higherKey

        public K higherKey​(K key)
        Specified by:
        higherKey in interface java.util.NavigableMap<K,​V>
      • firstEntry

        public java.util.Map.Entry<K,​V> firstEntry()
        Specified by:
        firstEntry in interface java.util.NavigableMap<K,​V>
      • lastEntry

        public java.util.Map.Entry<K,​V> lastEntry()
        Specified by:
        lastEntry in interface java.util.NavigableMap<K,​V>
      • descendingMap

        public java.util.NavigableMap<K,​V> descendingMap()
        Specified by:
        descendingMap in interface java.util.NavigableMap<K,​V>
      • navigableKeySet

        public java.util.NavigableSet<K> navigableKeySet()
        Specified by:
        navigableKeySet in interface java.util.NavigableMap<K,​V>
      • descendingKeySet

        public java.util.NavigableSet<K> descendingKeySet()
        Specified by:
        descendingKeySet in interface java.util.NavigableMap<K,​V>
      • subMap

        public java.util.NavigableMap<K,​V> subMap​(K fromKey,
                                                        boolean fromInclusive,
                                                        K toKey,
                                                        boolean toInclusive)
        Specified by:
        subMap in interface java.util.NavigableMap<K,​V>
      • headMap

        public java.util.NavigableMap<K,​V> headMap​(K toKey,
                                                         boolean inclusive)
        Specified by:
        headMap in interface java.util.NavigableMap<K,​V>
      • tailMap

        public java.util.NavigableMap<K,​V> tailMap​(K fromKey,
                                                         boolean inclusive)
        Specified by:
        tailMap in interface java.util.NavigableMap<K,​V>