home *** CD-ROM | disk | FTP | other *** search
/ Sky at Night 2007 June / SAN CD 6-2007 CD-ROM 25.iso / pc / Software / AstroGrav_Win / Java / jre1.6.0 / lib / rt.jar / javax / swing / ActionMap.class (.txt) < prev    next >
Encoding:
Java Class File  |  2006-11-29  |  2.1 KB  |  114 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 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 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.       ArrayTable.writeArrayTable(var1, this.arrayTable);
  103.    }
  104.  
  105.    private void readObject(ObjectInputStream var1) throws ClassNotFoundException, IOException {
  106.       var1.defaultReadObject();
  107.  
  108.       for(int var2 = var1.readInt() - 1; var2 >= 0; --var2) {
  109.          this.put(var1.readObject(), (Action)var1.readObject());
  110.       }
  111.  
  112.    }
  113. }
  114.