Class AbstractSortedBidiMapDecorator<K,​V>

  • Type Parameters:
    K - the type of the keys in this map
    V - the type of the values in this map
    All Implemented Interfaces:
    java.util.Map<K,​V>, java.util.SortedMap<K,​V>, BidiMap<K,​V>, Get<K,​V>, IterableGet<K,​V>, IterableMap<K,​V>, OrderedBidiMap<K,​V>, OrderedMap<K,​V>, Put<K,​V>, SortedBidiMap<K,​V>
    Direct Known Subclasses:
    UnmodifiableSortedBidiMap

    public abstract class AbstractSortedBidiMapDecorator<K,​V>
    extends AbstractOrderedBidiMapDecorator<K,​V>
    implements SortedBidiMap<K,​V>
    Provides a base decorator that enables additional functionality to be added to a SortedBidiMap via decoration.

    Methods are forwarded directly to the decorated map.

    This implementation does not perform any special processing with the map views. Instead it simply returns the inverse from the wrapped map. This may be undesirable, for example if you are trying to write a validating implementation it would provide a loophole around the validation. But, you might want that loophole, so this class is kept simple.

    Since:
    3.0
    • Constructor Detail

      • AbstractSortedBidiMapDecorator

        public AbstractSortedBidiMapDecorator​(SortedBidiMap<K,​V> map)
        Constructor that wraps (not copies).
        Parameters:
        map - the map to decorate, must not be null
        Throws:
        java.lang.NullPointerException - if the collection is null
    • Method Detail

      • inverseBidiMap

        public SortedBidiMap<V,​K> inverseBidiMap()
        Description copied from interface: BidiMap
        Gets a view of this map where the keys and values are reversed.

        Changes to one map will be visible in the other and vice versa. This enables both directions of the map to be accessed as a Map.

        Implementations should seek to avoid creating a new object every time this method is called. See AbstractMap.values() etc. Calling this method on the inverse map should return the original.

        Specified by:
        inverseBidiMap in interface BidiMap<K,​V>
        Specified by:
        inverseBidiMap in interface OrderedBidiMap<K,​V>
        Specified by:
        inverseBidiMap in interface SortedBidiMap<K,​V>
        Overrides:
        inverseBidiMap in class AbstractOrderedBidiMapDecorator<K,​V>
        Returns:
        an inverted bidirectional map
      • comparator

        public java.util.Comparator<? super K> comparator()
        Specified by:
        comparator in interface java.util.SortedMap<K,​V>
      • valueComparator

        public java.util.Comparator<? super V> valueComparator()
        Description copied from interface: SortedBidiMap
        Get the comparator used for the values in the value-to-key map aspect.
        Specified by:
        valueComparator in interface SortedBidiMap<K,​V>
        Returns:
        Comparator<? super V>
      • subMap

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

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

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