home *** CD-ROM | disk | FTP | other *** search
/ Computer Shopper 144 / DPCS0200.iso / Internet / Supanet / system / swing.jar / javax / swing / text / SimpleAttributeSet.class (.txt) < prev    next >
Encoding:
Java Class File  |  1998-11-05  |  4.4 KB  |  175 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.    private SimpleAttributeSet(Hashtable var1) {
  18.       this.table = var1;
  19.    }
  20.  
  21.    public SimpleAttributeSet(AttributeSet var1) {
  22.       this.addAttributes(var1);
  23.    }
  24.  
  25.    public void addAttribute(Object var1, Object var2) {
  26.       this.table.put(var1, var2);
  27.    }
  28.  
  29.    public void addAttributes(AttributeSet var1) {
  30.       Enumeration var2 = var1.getAttributeNames();
  31.  
  32.       while(var2.hasMoreElements()) {
  33.          Object var3 = var2.nextElement();
  34.          this.addAttribute(var3, var1.getAttribute(var3));
  35.       }
  36.  
  37.    }
  38.  
  39.    public Object clone() {
  40.       SimpleAttributeSet var1;
  41.       try {
  42.          var1 = (SimpleAttributeSet)super.clone();
  43.          var1.table = (Hashtable)this.table.clone();
  44.       } catch (CloneNotSupportedException var2) {
  45.          var1 = null;
  46.       }
  47.  
  48.       return var1;
  49.    }
  50.  
  51.    public boolean containsAttribute(Object var1, Object var2) {
  52.       return var2.equals(this.getAttribute(var1));
  53.    }
  54.  
  55.    public boolean containsAttributes(AttributeSet var1) {
  56.       boolean var2 = true;
  57.  
  58.       Object var4;
  59.       for(Enumeration var3 = var1.getAttributeNames(); var2 && var3.hasMoreElements(); var2 = var1.getAttribute(var4).equals(this.getAttribute(var4))) {
  60.          var4 = var3.nextElement();
  61.       }
  62.  
  63.       return var2;
  64.    }
  65.  
  66.    public AttributeSet copyAttributes() {
  67.       return (AttributeSet)this.clone();
  68.    }
  69.  
  70.    public boolean equals(Object var1) {
  71.       if (var1 instanceof AttributeSet) {
  72.          AttributeSet var2 = (AttributeSet)var1;
  73.          return this.isEqual(var2);
  74.       } else {
  75.          return false;
  76.       }
  77.    }
  78.  
  79.    public Object getAttribute(Object var1) {
  80.       Object var2 = this.table.get(var1);
  81.       if (var2 == null) {
  82.          AttributeSet var3 = this.getResolveParent();
  83.          if (var3 != null) {
  84.             var2 = var3.getAttribute(var1);
  85.          }
  86.       }
  87.  
  88.       return var2;
  89.    }
  90.  
  91.    public int getAttributeCount() {
  92.       return this.table.size();
  93.    }
  94.  
  95.    public Enumeration getAttributeNames() {
  96.       return this.table.keys();
  97.    }
  98.  
  99.    public AttributeSet getResolveParent() {
  100.       return (AttributeSet)this.table.get(StyleConstants.ResolveAttribute);
  101.    }
  102.  
  103.    public int hashCode() {
  104.       return this.table.hashCode();
  105.    }
  106.  
  107.    public boolean isDefined(Object var1) {
  108.       return this.table.containsKey(var1);
  109.    }
  110.  
  111.    public boolean isEmpty() {
  112.       return this.table.isEmpty();
  113.    }
  114.  
  115.    public boolean isEqual(AttributeSet var1) {
  116.       return this.getAttributeCount() == var1.getAttributeCount() && this.containsAttributes(var1);
  117.    }
  118.  
  119.    private void readObject(ObjectInputStream var1) throws ClassNotFoundException, IOException {
  120.       var1.defaultReadObject();
  121.       this.table = new Hashtable(3);
  122.       StyleContext.readAttributeSet(var1, this);
  123.    }
  124.  
  125.    public void removeAttribute(Object var1) {
  126.       this.table.remove(var1);
  127.    }
  128.  
  129.    public void removeAttributes(Enumeration var1) {
  130.       while(var1.hasMoreElements()) {
  131.          this.removeAttribute(var1.nextElement());
  132.       }
  133.  
  134.    }
  135.  
  136.    public void removeAttributes(AttributeSet var1) {
  137.       Enumeration var2 = var1.getAttributeNames();
  138.  
  139.       while(var2.hasMoreElements()) {
  140.          Object var3 = var2.nextElement();
  141.          Object var4 = var1.getAttribute(var3);
  142.          if (var4.equals(this.getAttribute(var3))) {
  143.             this.removeAttribute(var3);
  144.          }
  145.       }
  146.  
  147.    }
  148.  
  149.    public void setResolveParent(AttributeSet var1) {
  150.       this.addAttribute(StyleConstants.ResolveAttribute, var1);
  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.