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 / javax / swing / ActionMap.class (.txt) < prev    next >
Encoding:
Java Class File  |  1979-12-31  |  2.3 KB  |  140 lines

  1. package javax.swing;
  2.  
  3. import java.io.IOException;
  4. import java.io.ObjectInputStream;
  5. import java.io.ObjectOutputStream;
  6. import java.io.Serializable;
  7. import java.util.HashMap;
  8.  
  9. public class ActionMap implements Serializable {
  10.    private transient AbstractAction.ArrayTable arrayTable;
  11.    private ActionMap parent;
  12.  
  13.    public void setParent(ActionMap var1) {
  14.       this.parent = var1;
  15.    }
  16.  
  17.    public ActionMap getParent() {
  18.       return this.parent;
  19.    }
  20.  
  21.    public void put(Object var1, Action var2) {
  22.       if (var1 != null) {
  23.          if (var2 == null) {
  24.             this.remove(var1);
  25.          } else {
  26.             if (this.arrayTable == null) {
  27.                this.arrayTable = new AbstractAction.ArrayTable();
  28.             }
  29.  
  30.             this.arrayTable.put(var1, var2);
  31.          }
  32.  
  33.       }
  34.    }
  35.  
  36.    public Action get(Object var1) {
  37.       Action var2 = this.arrayTable == null ? null : (Action)this.arrayTable.get(var1);
  38.       if (var2 == null) {
  39.          ActionMap var3 = this.getParent();
  40.          if (var3 != null) {
  41.             return var3.get(var1);
  42.          }
  43.       }
  44.  
  45.       return var2;
  46.    }
  47.  
  48.    public void remove(Object var1) {
  49.       if (this.arrayTable != null) {
  50.          this.arrayTable.remove(var1);
  51.       }
  52.  
  53.    }
  54.  
  55.    public void clear() {
  56.       if (this.arrayTable != null) {
  57.          this.arrayTable.clear();
  58.       }
  59.  
  60.    }
  61.  
  62.    public Object[] keys() {
  63.       return this.arrayTable == null ? null : this.arrayTable.getKeys((Object[])null);
  64.    }
  65.  
  66.    public int size() {
  67.       return this.arrayTable == null ? 0 : this.arrayTable.size();
  68.    }
  69.  
  70.    public Object[] allKeys() {
  71.       int var1 = this.size();
  72.       ActionMap var2 = this.getParent();
  73.       if (var1 == 0) {
  74.          return var2 != null ? var2.allKeys() : this.keys();
  75.       } else if (var2 == null) {
  76.          return this.keys();
  77.       } else {
  78.          Object[] var3 = this.keys();
  79.          Object[] var4 = var2.allKeys();
  80.          if (var4 == null) {
  81.             return var3;
  82.          } else if (var3 == null) {
  83.             return var4;
  84.          } else {
  85.             HashMap var5 = new HashMap();
  86.  
  87.             for(int var6 = var3.length - 1; var6 >= 0; --var6) {
  88.                var5.put(var3[var6], var3[var6]);
  89.             }
  90.  
  91.             for(int var7 = var4.length - 1; var7 >= 0; --var7) {
  92.                var5.put(var4[var7], var4[var7]);
  93.             }
  94.  
  95.             return var5.keySet().toArray();
  96.          }
  97.       }
  98.    }
  99.  
  100.    private void writeObject(ObjectOutputStream var1) throws IOException {
  101.       var1.defaultWriteObject();
  102.       Object[] var2 = this.keys();
  103.       int var3 = 0;
  104.       if (var2 != null) {
  105.          for(int var4 = 0; var4 < var2.length; ++var4) {
  106.             if (var2[var4] instanceof Serializable) {
  107.                Action var5 = this.get(var2[var4]);
  108.                if (var5 instanceof Serializable) {
  109.                   ++var3;
  110.                } else {
  111.                   var2[var4] = null;
  112.                }
  113.             } else {
  114.                var2[var4] = null;
  115.             }
  116.          }
  117.       }
  118.  
  119.       var1.writeInt(var3);
  120.  
  121.       for(int var6 = 0; var3 > 0; ++var6) {
  122.          if (var2[var6] != null) {
  123.             var1.writeObject(var2[var6]);
  124.             var1.writeObject(this.get(var2[var6]));
  125.             --var3;
  126.          }
  127.       }
  128.  
  129.    }
  130.  
  131.    private void readObject(ObjectInputStream var1) throws ClassNotFoundException, IOException {
  132.       var1.defaultReadObject();
  133.  
  134.       for(int var2 = var1.readInt() - 1; var2 >= 0; --var2) {
  135.          this.put(var1.readObject(), (Action)var1.readObject());
  136.       }
  137.  
  138.    }
  139. }
  140.