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 / text / SimpleAttributeSet.class (.txt) < prev    next >
Encoding:
Java Class File  |  1979-12-31  |  3.8 KB  |  181 lines

  1. package javax.swing.text;
  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.Enumeration;
  8. import java.util.Hashtable;
  9.  
  10. public class SimpleAttributeSet implements MutableAttributeSet, Serializable, Cloneable {
  11.    public static final AttributeSet EMPTY = new EmptyAttributeSet();
  12.    private transient Hashtable table = new Hashtable(3);
  13.  
  14.    public SimpleAttributeSet() {
  15.    }
  16.  
  17.    public SimpleAttributeSet(AttributeSet var1) {
  18.       this.addAttributes(var1);
  19.    }
  20.  
  21.    private SimpleAttributeSet(Hashtable var1) {
  22.       this.table = var1;
  23.    }
  24.  
  25.    public boolean isEmpty() {
  26.       return this.table.isEmpty();
  27.    }
  28.  
  29.    public int getAttributeCount() {
  30.       return this.table.size();
  31.    }
  32.  
  33.    public boolean isDefined(Object var1) {
  34.       return this.table.containsKey(var1);
  35.    }
  36.  
  37.    public boolean isEqual(AttributeSet var1) {
  38.       return this.getAttributeCount() == var1.getAttributeCount() && this.containsAttributes(var1);
  39.    }
  40.  
  41.    public AttributeSet copyAttributes() {
  42.       return (AttributeSet)this.clone();
  43.    }
  44.  
  45.    public Enumeration getAttributeNames() {
  46.       return this.table.keys();
  47.    }
  48.  
  49.    public Object getAttribute(Object var1) {
  50.       Object var2 = this.table.get(var1);
  51.       if (var2 == null) {
  52.          AttributeSet var3 = this.getResolveParent();
  53.          if (var3 != null) {
  54.             var2 = var3.getAttribute(var1);
  55.          }
  56.       }
  57.  
  58.       return var2;
  59.    }
  60.  
  61.    public boolean containsAttribute(Object var1, Object var2) {
  62.       return var2.equals(this.getAttribute(var1));
  63.    }
  64.  
  65.    public boolean containsAttributes(AttributeSet var1) {
  66.       boolean var2 = true;
  67.  
  68.       Object var4;
  69.       for(Enumeration var3 = var1.getAttributeNames(); var2 && var3.hasMoreElements(); var2 = var1.getAttribute(var4).equals(this.getAttribute(var4))) {
  70.          var4 = var3.nextElement();
  71.       }
  72.  
  73.       return var2;
  74.    }
  75.  
  76.    public void addAttribute(Object var1, Object var2) {
  77.       this.table.put(var1, var2);
  78.    }
  79.  
  80.    public void addAttributes(AttributeSet var1) {
  81.       Enumeration var2 = var1.getAttributeNames();
  82.  
  83.       while(var2.hasMoreElements()) {
  84.          Object var3 = var2.nextElement();
  85.          this.addAttribute(var3, var1.getAttribute(var3));
  86.       }
  87.  
  88.    }
  89.  
  90.    public void removeAttribute(Object var1) {
  91.       this.table.remove(var1);
  92.    }
  93.  
  94.    public void removeAttributes(Enumeration var1) {
  95.       while(var1.hasMoreElements()) {
  96.          this.removeAttribute(var1.nextElement());
  97.       }
  98.  
  99.    }
  100.  
  101.    public void removeAttributes(AttributeSet var1) {
  102.       if (var1 == this) {
  103.          this.table.clear();
  104.       } else {
  105.          Enumeration var2 = var1.getAttributeNames();
  106.  
  107.          while(var2.hasMoreElements()) {
  108.             Object var3 = var2.nextElement();
  109.             Object var4 = var1.getAttribute(var3);
  110.             if (var4.equals(this.getAttribute(var3))) {
  111.                this.removeAttribute(var3);
  112.             }
  113.          }
  114.       }
  115.  
  116.    }
  117.  
  118.    public AttributeSet getResolveParent() {
  119.       return (AttributeSet)this.table.get(StyleConstants.ResolveAttribute);
  120.    }
  121.  
  122.    public void setResolveParent(AttributeSet var1) {
  123.       this.addAttribute(StyleConstants.ResolveAttribute, var1);
  124.    }
  125.  
  126.    public Object clone() {
  127.       SimpleAttributeSet var1;
  128.       try {
  129.          var1 = (SimpleAttributeSet)super.clone();
  130.          var1.table = (Hashtable)this.table.clone();
  131.       } catch (CloneNotSupportedException var3) {
  132.          var1 = null;
  133.       }
  134.  
  135.       return var1;
  136.    }
  137.  
  138.    public int hashCode() {
  139.       return this.table.hashCode();
  140.    }
  141.  
  142.    public boolean equals(Object var1) {
  143.       if (this == var1) {
  144.          return true;
  145.       } else if (var1 instanceof AttributeSet) {
  146.          AttributeSet var2 = (AttributeSet)var1;
  147.          return this.isEqual(var2);
  148.       } else {
  149.          return false;
  150.       }
  151.    }
  152.  
  153.    public String toString() {
  154.       String var1 = "";
  155.       Enumeration var2 = this.getAttributeNames();
  156.  
  157.       while(var2.hasMoreElements()) {
  158.          Object var3 = var2.nextElement();
  159.          Object var4 = this.getAttribute(var3);
  160.          if (var4 instanceof AttributeSet) {
  161.             var1 = var1 + var3 + "=**AttributeSet** ";
  162.          } else {
  163.             var1 = var1 + var3 + "=" + var4 + " ";
  164.          }
  165.       }
  166.  
  167.       return var1;
  168.    }
  169.  
  170.    private void writeObject(ObjectOutputStream var1) throws IOException {
  171.       var1.defaultWriteObject();
  172.       StyleContext.writeAttributeSet(var1, this);
  173.    }
  174.  
  175.    private void readObject(ObjectInputStream var1) throws ClassNotFoundException, IOException {
  176.       var1.defaultReadObject();
  177.       this.table = new Hashtable(3);
  178.       StyleContext.readAttributeSet(var1, this);
  179.    }
  180. }
  181.