home *** CD-ROM | disk | FTP | other *** search
- package java.util;
-
- public abstract class AbstractMap implements Map {
- private transient Set keySet = null;
- private transient Collection values = null;
-
- protected AbstractMap() {
- }
-
- public int size() {
- return this.entrySet().size();
- }
-
- public boolean isEmpty() {
- return this.size() == 0;
- }
-
- public boolean containsValue(Object var1) {
- Iterator var2 = this.entrySet().iterator();
- if (var1 == null) {
- while(var2.hasNext()) {
- Map.Entry var4 = (Map.Entry)var2.next();
- if (var4.getValue() == null) {
- return true;
- }
- }
- } else {
- while(var2.hasNext()) {
- Map.Entry var3 = (Map.Entry)var2.next();
- if (var1.equals(var3.getValue())) {
- return true;
- }
- }
- }
-
- return false;
- }
-
- public boolean containsKey(Object var1) {
- Iterator var2 = this.entrySet().iterator();
- if (var1 == null) {
- while(var2.hasNext()) {
- Map.Entry var4 = (Map.Entry)var2.next();
- if (var4.getKey() == null) {
- return true;
- }
- }
- } else {
- while(var2.hasNext()) {
- Map.Entry var3 = (Map.Entry)var2.next();
- if (var1.equals(var3.getKey())) {
- return true;
- }
- }
- }
-
- return false;
- }
-
- public Object get(Object var1) {
- Iterator var2 = this.entrySet().iterator();
- if (var1 == null) {
- while(var2.hasNext()) {
- Map.Entry var4 = (Map.Entry)var2.next();
- if (var4.getKey() == null) {
- return var4.getValue();
- }
- }
- } else {
- while(var2.hasNext()) {
- Map.Entry var3 = (Map.Entry)var2.next();
- if (var1.equals(var3.getKey())) {
- return var3.getValue();
- }
- }
- }
-
- return null;
- }
-
- public Object put(Object var1, Object var2) {
- throw new UnsupportedOperationException();
- }
-
- public Object remove(Object var1) {
- Iterator var2 = this.entrySet().iterator();
- Map.Entry var3 = null;
- if (var1 == null) {
- while(var3 == null && var2.hasNext()) {
- Map.Entry var5 = (Map.Entry)var2.next();
- if (var5.getKey() == null) {
- var3 = var5;
- }
- }
- } else {
- while(var3 == null && var2.hasNext()) {
- Map.Entry var4 = (Map.Entry)var2.next();
- if (var1.equals(var4.getKey())) {
- var3 = var4;
- }
- }
- }
-
- Object var6 = null;
- if (var3 != null) {
- var6 = var3.getValue();
- var2.remove();
- }
-
- return var6;
- }
-
- public void putAll(Map var1) {
- for(Map.Entry var3 : var1.entrySet()) {
- this.put(var3.getKey(), var3.getValue());
- }
-
- }
-
- public void clear() {
- this.entrySet().clear();
- }
-
- public Set keySet() {
- if (this.keySet == null) {
- this.keySet = new 1(this);
- }
-
- return this.keySet;
- }
-
- public Collection values() {
- if (this.values == null) {
- this.values = new 3(this);
- }
-
- return this.values;
- }
-
- public abstract Set entrySet();
-
- public boolean equals(Object var1) {
- if (var1 == this) {
- return true;
- } else if (!(var1 instanceof Map)) {
- return false;
- } else {
- Map var2 = (Map)var1;
- if (var2.size() != this.size()) {
- return false;
- } else {
- for(Map.Entry var4 : this.entrySet()) {
- Object var5 = var4.getKey();
- Object var6 = var4.getValue();
- if (var6 == null) {
- if (var2.get(var5) != null || !var2.containsKey(var5)) {
- return false;
- }
- } else if (!var6.equals(var2.get(var5))) {
- return false;
- }
- }
-
- return true;
- }
- }
- }
-
- public int hashCode() {
- int var1 = 0;
-
- for(Iterator var2 = this.entrySet().iterator(); var2.hasNext(); var1 += var2.next().hashCode()) {
- }
-
- return var1;
- }
-
- public String toString() {
- int var1 = this.size() - 1;
- StringBuffer var2 = new StringBuffer();
- Iterator var3 = this.entrySet().iterator();
- var2.append("{");
-
- for(int var4 = 0; var4 <= var1; ++var4) {
- Map.Entry var5 = (Map.Entry)var3.next();
- var2.append(var5.getKey() + "=" + var5.getValue());
- if (var4 < var1) {
- var2.append(", ");
- }
- }
-
- var2.append("}");
- return var2.toString();
- }
- }
-