diff options
Diffstat (limited to 'crypto/j2me/java/util/AbstractMap.java')
-rw-r--r-- | crypto/j2me/java/util/AbstractMap.java | 173 |
1 files changed, 173 insertions, 0 deletions
diff --git a/crypto/j2me/java/util/AbstractMap.java b/crypto/j2me/java/util/AbstractMap.java new file mode 100644 index 000000000..13c61ecfa --- /dev/null +++ b/crypto/j2me/java/util/AbstractMap.java @@ -0,0 +1,173 @@ +package java.util; + +public abstract class AbstractMap + implements Map +{ + + protected AbstractMap() + { + } + + public int size() + { + return entrySet().size(); + } + + public boolean isEmpty() + { + return size() == 0; + } + + public boolean containsValue(Object value) + { + Iterator it = entrySet().iterator(); + while (it.hasNext()) + { + Map.Entry v = (Map.Entry)it.next(); + if (value == null) + { + if (v.getValue() == null) + { + return true; + } + } + else + { + if (value.equals(v.getValue())) + { + return true; + } + } + } + return false; + } + + public boolean containsKey(Object key) + throws ClassCastException, NullPointerException + { + Iterator it = entrySet().iterator(); + while (it.hasNext()) + { + Map.Entry v = (Map.Entry)it.next(); + if (key == null) + { + if (v.getKey() == null) + { + return true; + } + } + else + { + if (key.equals(v.getKey())) + { + return true; + } + } + } + return false; + } + + public Object get(Object key) + throws ClassCastException, NullPointerException + { + Iterator it = entrySet().iterator(); + while (it.hasNext()) + { + Map.Entry v = (Map.Entry)it.next(); + if (key == null) + { + if (v.getKey() == null) + { + return v.getValue(); + } + } + else + { + if (key.equals(v.getKey())) + { + return v.getValue(); + } + } + } + return null; + } + + public Object put(Object key, Object value) + throws RuntimeException + { + throw new RuntimeException(); + } + + public Object remove(Object key) + { + Iterator it = entrySet().iterator(); + Object o = null; + while (it.hasNext()) + { + Map.Entry v = (Map.Entry)it.next(); + if (key == null) + { + if (v.getKey() == null) + { + o = v.getValue(); + it.remove(); + return o; + } + } + else + { + if (key.equals(v.getKey())) + { + o = v.getValue(); + it.remove(); + return o; + } + } + } + return null; + } + + public void putAll(Map t) + { + Iterator it = t.entrySet().iterator(); + while (it.hasNext()) + { + Map.Entry v = (Map.Entry)it.next(); + put(v.getKey(), v.getValue()); + } + } + + public void clear() + { + entrySet().clear(); + } + + public Set keySet() + { + throw new RuntimeException("no keySet in AbstractMap()"); + } + + public Collection values() + { + throw new RuntimeException("no values in AbstractMap()"); + } + + public abstract Set entrySet(); + + public boolean equals(Object o) + { + throw new RuntimeException("no equals in AbstractMap()"); + } + + public int hashCode() + { + throw new RuntimeException("no hashCode in AbstractMap()"); + } + + public String toString() + { + throw new RuntimeException("no toString in AbstractMap()"); + } + + +} |