org.jibx.util
Class InsertionOrderedMap

java.lang.Object
  extended by org.jibx.util.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.


Nested Class Summary
protected static class InsertionOrderedMap.ListSet
          Set implementation backed by a list.
protected  class InsertionOrderedMap.ValueCollection
           
protected  class InsertionOrderedMap.ValueIterator
           
 
Nested classes/interfaces inherited from interface java.util.Map
java.util.Map.Entry<K,V>
 
Field Summary
private  java.util.Map m_baseMap
           
private  java.util.ArrayList m_insertList
           
 
Constructor Summary
InsertionOrderedMap()
           
 
Method Summary
 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
equals, hashCode
 

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


Project Web Site