Package org.jibx.util

Class InsertionOrderedMap

  • All Implemented Interfaces:
    java.util.Map

    public class InsertionOrderedMap
    extends java.lang.Object
    implements java.util.Map
    Map with keys iterated in insertion order. This is similar to the Java 1.4 java.util.LinkedHashMap class, but compatible with earlier JVM versions. It also guarantees insertion ordering only for iterating through the key values, not for other iterations. This implementation is optimized for insert-only maps.
    • Field Summary

      Fields 
      Modifier and Type Field Description
      private java.util.Map m_baseMap  
      private java.util.ArrayList m_insertList  
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      void clear()  
      boolean containsKey​(java.lang.Object key)  
      boolean containsValue​(java.lang.Object value)  
      java.util.Set entrySet()  
      java.lang.Object get​(java.lang.Object key)  
      boolean isEmpty()  
      java.util.ArrayList keyList()
      Get list of keys in order added.
      java.util.Set keySet()  
      java.lang.Object put​(java.lang.Object key, java.lang.Object value)  
      void putAll​(java.util.Map t)  
      java.lang.Object remove​(java.lang.Object key)  
      int size()  
      java.util.Collection values()  
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
      • Methods inherited from interface java.util.Map

        compute, computeIfAbsent, computeIfPresent, equals, forEach, getOrDefault, hashCode, merge, putIfAbsent, remove, replace, replace, replaceAll
    • Field Detail

      • m_baseMap

        private final java.util.Map m_baseMap
      • m_insertList

        private final java.util.ArrayList m_insertList
    • Constructor Detail

      • InsertionOrderedMap

        public InsertionOrderedMap()
    • Method Detail

      • clear

        public void clear()
        Specified by:
        clear in interface java.util.Map
      • containsKey

        public boolean containsKey​(java.lang.Object key)
        Specified by:
        containsKey in interface java.util.Map
      • containsValue

        public boolean containsValue​(java.lang.Object value)
        Specified by:
        containsValue in interface java.util.Map
      • entrySet

        public java.util.Set entrySet()
        Specified by:
        entrySet in interface java.util.Map
      • get

        public java.lang.Object get​(java.lang.Object key)
        Specified by:
        get in interface java.util.Map
      • isEmpty

        public boolean isEmpty()
        Specified by:
        isEmpty in interface java.util.Map
      • keySet

        public java.util.Set keySet()
        Specified by:
        keySet in interface java.util.Map
      • put

        public java.lang.Object put​(java.lang.Object key,
                                    java.lang.Object value)
        Specified by:
        put in interface java.util.Map
      • putAll

        public void putAll​(java.util.Map t)
        Specified by:
        putAll in interface java.util.Map
      • remove

        public java.lang.Object remove​(java.lang.Object key)
        Specified by:
        remove in interface java.util.Map
      • size

        public int size()
        Specified by:
        size in interface java.util.Map
      • values

        public java.util.Collection values()
        Specified by:
        values in interface java.util.Map
      • keyList

        public java.util.ArrayList keyList()
        Get list of keys in order added. The returned list is live, and will grow or shrink as pairs are added to or removed from the map.
        Returns:
        key list