1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 | package Torello.Java.ReadOnly; import java.util.Comparator; import java.util.SortedMap; import java.util.Collections; import java.util.Map; import java.util.TreeMap; class JavaHTMLReadOnlySortedMap<K, V> implements ReadOnlySortedMap<K, V> { private final SortedMap<K, V> sm; JavaHTMLReadOnlySortedMap(SortedMap<K, V> sm) { this.sm = sm; } public Comparator<? super K> comparator() { return sm.comparator(); } public ReadOnlySortedMap<K, V> subMap(K fromKey, K toKey) { return new JavaHTMLReadOnlySortedMap<>(sm.subMap(fromKey, toKey)); } public ReadOnlySortedMap<K, V> headMap(K toKey) { return new JavaHTMLReadOnlySortedMap<>(sm.headMap(toKey)); } public ReadOnlySortedMap<K, V> tailMap(K fromKey) { return new JavaHTMLReadOnlySortedMap<>(sm.tailMap(fromKey)); } public K firstKey() { return sm.firstKey(); } public K lastKey() { return sm.lastKey(); } public ReadOnlySet<K> keySet() { return new JavaHTMLReadOnlySet<>(sm.keySet()); } public ReadOnlyCollection<V> values() { return new JavaHTMLReadOnlyCollection<>(sm.values()); } public ReadOnlySet<ReadOnlyMap.Entry<K, V>> entrySet() { return ROHelperEntrySet.toReadOnlyEntrySet(sm.entrySet()); } // *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** // Defined in ReadOnlyMap only // *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** public V get(Object key) { return sm.get(key); } public boolean containsValue(Object value) { return sm.containsValue(value); } public boolean containsKey(Object key) { return sm.containsKey(key); } public boolean isEmpty() { return sm.isEmpty(); } public int size() { return sm.size(); } // *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** // To Java-Collections Types // *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** @SuppressWarnings("unchecked") public Map<K, V> cloneToMap() { if (sm instanceof TreeMap) return (Map<K, V>) ((TreeMap<K, V>) sm).clone(); return new TreeMap<>(sm); } public Map<K, V> wrapToImmutableMap() { return Collections.unmodifiableMap(sm); } // *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** // java.lang.Object // *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** public boolean equals(Object other) { return ROHelperEquals.roMapEq(this, other); } public int hashCode() { return sm.hashCode(); } public String toString() { return sm.toString(); } } |