home *** CD-ROM | disk | FTP | other *** search
/ S283 Planetary Science &n…he Search for Life DVD 2 / DVD-ROM.iso / install / jre1_3 / lib / rt.jar / java / util / AbstractMap.class (.txt) < prev    next >
Encoding:
Java Class File  |  1979-12-31  |  2.5 KB  |  196 lines

  1. package java.util;
  2.  
  3. public abstract class AbstractMap implements Map {
  4.    private transient Set keySet = null;
  5.    private transient Collection values = null;
  6.  
  7.    protected AbstractMap() {
  8.    }
  9.  
  10.    public int size() {
  11.       return this.entrySet().size();
  12.    }
  13.  
  14.    public boolean isEmpty() {
  15.       return this.size() == 0;
  16.    }
  17.  
  18.    public boolean containsValue(Object var1) {
  19.       Iterator var2 = this.entrySet().iterator();
  20.       if (var1 == null) {
  21.          while(var2.hasNext()) {
  22.             Map.Entry var4 = (Map.Entry)var2.next();
  23.             if (var4.getValue() == null) {
  24.                return true;
  25.             }
  26.          }
  27.       } else {
  28.          while(var2.hasNext()) {
  29.             Map.Entry var3 = (Map.Entry)var2.next();
  30.             if (var1.equals(var3.getValue())) {
  31.                return true;
  32.             }
  33.          }
  34.       }
  35.  
  36.       return false;
  37.    }
  38.  
  39.    public boolean containsKey(Object var1) {
  40.       Iterator var2 = this.entrySet().iterator();
  41.       if (var1 == null) {
  42.          while(var2.hasNext()) {
  43.             Map.Entry var4 = (Map.Entry)var2.next();
  44.             if (var4.getKey() == null) {
  45.                return true;
  46.             }
  47.          }
  48.       } else {
  49.          while(var2.hasNext()) {
  50.             Map.Entry var3 = (Map.Entry)var2.next();
  51.             if (var1.equals(var3.getKey())) {
  52.                return true;
  53.             }
  54.          }
  55.       }
  56.  
  57.       return false;
  58.    }
  59.  
  60.    public Object get(Object var1) {
  61.       Iterator var2 = this.entrySet().iterator();
  62.       if (var1 == null) {
  63.          while(var2.hasNext()) {
  64.             Map.Entry var4 = (Map.Entry)var2.next();
  65.             if (var4.getKey() == null) {
  66.                return var4.getValue();
  67.             }
  68.          }
  69.       } else {
  70.          while(var2.hasNext()) {
  71.             Map.Entry var3 = (Map.Entry)var2.next();
  72.             if (var1.equals(var3.getKey())) {
  73.                return var3.getValue();
  74.             }
  75.          }
  76.       }
  77.  
  78.       return null;
  79.    }
  80.  
  81.    public Object put(Object var1, Object var2) {
  82.       throw new UnsupportedOperationException();
  83.    }
  84.  
  85.    public Object remove(Object var1) {
  86.       Iterator var2 = this.entrySet().iterator();
  87.       Map.Entry var3 = null;
  88.       if (var1 == null) {
  89.          while(var3 == null && var2.hasNext()) {
  90.             Map.Entry var5 = (Map.Entry)var2.next();
  91.             if (var5.getKey() == null) {
  92.                var3 = var5;
  93.             }
  94.          }
  95.       } else {
  96.          while(var3 == null && var2.hasNext()) {
  97.             Map.Entry var4 = (Map.Entry)var2.next();
  98.             if (var1.equals(var4.getKey())) {
  99.                var3 = var4;
  100.             }
  101.          }
  102.       }
  103.  
  104.       Object var6 = null;
  105.       if (var3 != null) {
  106.          var6 = var3.getValue();
  107.          var2.remove();
  108.       }
  109.  
  110.       return var6;
  111.    }
  112.  
  113.    public void putAll(Map var1) {
  114.       for(Map.Entry var3 : var1.entrySet()) {
  115.          this.put(var3.getKey(), var3.getValue());
  116.       }
  117.  
  118.    }
  119.  
  120.    public void clear() {
  121.       this.entrySet().clear();
  122.    }
  123.  
  124.    public Set keySet() {
  125.       if (this.keySet == null) {
  126.          this.keySet = new 1(this);
  127.       }
  128.  
  129.       return this.keySet;
  130.    }
  131.  
  132.    public Collection values() {
  133.       if (this.values == null) {
  134.          this.values = new 3(this);
  135.       }
  136.  
  137.       return this.values;
  138.    }
  139.  
  140.    public abstract Set entrySet();
  141.  
  142.    public boolean equals(Object var1) {
  143.       if (var1 == this) {
  144.          return true;
  145.       } else if (!(var1 instanceof Map)) {
  146.          return false;
  147.       } else {
  148.          Map var2 = (Map)var1;
  149.          if (var2.size() != this.size()) {
  150.             return false;
  151.          } else {
  152.             for(Map.Entry var4 : this.entrySet()) {
  153.                Object var5 = var4.getKey();
  154.                Object var6 = var4.getValue();
  155.                if (var6 == null) {
  156.                   if (var2.get(var5) != null || !var2.containsKey(var5)) {
  157.                      return false;
  158.                   }
  159.                } else if (!var6.equals(var2.get(var5))) {
  160.                   return false;
  161.                }
  162.             }
  163.  
  164.             return true;
  165.          }
  166.       }
  167.    }
  168.  
  169.    public int hashCode() {
  170.       int var1 = 0;
  171.  
  172.       for(Iterator var2 = this.entrySet().iterator(); var2.hasNext(); var1 += var2.next().hashCode()) {
  173.       }
  174.  
  175.       return var1;
  176.    }
  177.  
  178.    public String toString() {
  179.       int var1 = this.size() - 1;
  180.       StringBuffer var2 = new StringBuffer();
  181.       Iterator var3 = this.entrySet().iterator();
  182.       var2.append("{");
  183.  
  184.       for(int var4 = 0; var4 <= var1; ++var4) {
  185.          Map.Entry var5 = (Map.Entry)var3.next();
  186.          var2.append(var5.getKey() + "=" + var5.getValue());
  187.          if (var4 < var1) {
  188.             var2.append(", ");
  189.          }
  190.       }
  191.  
  192.       var2.append("}");
  193.       return var2.toString();
  194.    }
  195. }
  196.