001package gudusoft.gsqlparser.util;
002
003import java.util.ArrayList;
004import java.util.LinkedHashMap;
005
006public class IndexedLinkedHashMap<K, V> extends LinkedHashMap<K, V> {
007
008        /**
009         * serialVersionUID
010         */
011        private static final long serialVersionUID = 1L;
012
013        private ArrayList<K> arrayList = new ArrayList<K>();
014
015        @Override
016        public V put(K key, V val) {
017                if (!super.containsKey(key)) {
018                        arrayList.add(key);
019                }
020                V returnValue = super.put(key, val);
021                return returnValue;
022        }
023
024        public V getValueAtIndex(int i) {
025                return (V) super.get(arrayList.get(i));
026        }
027
028        public K getKeyAtIndex(int i) {
029                return (K) arrayList.get(i);
030        }
031
032        public int getIndexOf(K key) {
033                return arrayList.indexOf(key);
034        }
035
036}