home *** CD-ROM | disk | FTP | other *** search
/ Computer Shopper 139 / dpcs0999.iso / Web / CFserver / data1.cab / Java / netscape / application / TextViewHTMLMarker.class (.txt) < prev    next >
Encoding:
Java Class File  |  1999-04-12  |  2.7 KB  |  121 lines

  1. package netscape.application;
  2.  
  3. import netscape.util.Hashtable;
  4.  
  5. public abstract class TextViewHTMLMarker extends TextViewHTMLElement {
  6.    String marker;
  7.    String attributes;
  8.    String prefix;
  9.    String string;
  10.    String suffix;
  11.  
  12.    public String prefix(Hashtable var1, char var2) {
  13.       return "";
  14.    }
  15.  
  16.    public String suffix(Hashtable var1, char var2) {
  17.       return "";
  18.    }
  19.  
  20.    public Hashtable attributesForPrefix(Hashtable var1, Hashtable var2, TextView var3) {
  21.       return var2;
  22.    }
  23.  
  24.    public Hashtable attributesForMarker(Hashtable var1, Hashtable var2, TextView var3) {
  25.       return var2;
  26.    }
  27.  
  28.    public Hashtable attributesForSuffix(Hashtable var1, Hashtable var2, TextView var3) {
  29.       return var2;
  30.    }
  31.  
  32.    public abstract String string(Hashtable var1);
  33.  
  34.    public String marker() {
  35.       return this.marker;
  36.    }
  37.  
  38.    public Hashtable attributes() {
  39.       return ((TextViewHTMLElement)this).hashtableForHTMLAttributes(this.attributes);
  40.    }
  41.  
  42.    public void setMarker(String var1) {
  43.       this.marker = var1;
  44.    }
  45.  
  46.    public void setAttributes(String var1) {
  47.       this.attributes = var1;
  48.    }
  49.  
  50.    void appendString(Hashtable var1, FastStringBuffer var2) {
  51.       char var3 = 0;
  52.       if (var2.length() > 0) {
  53.          var3 = var2.charAt(var2.length() - 1);
  54.       }
  55.  
  56.       this.prefix = this.prefix(var1, var3);
  57.       if (this.prefix != null && this.prefix.length() > 0) {
  58.          var2.append(this.prefix);
  59.       }
  60.  
  61.       this.string = this.string(var1);
  62.       if (this.string != null && this.string.length() > 0) {
  63.          var2.append(this.string);
  64.       } else {
  65.          this.string = "";
  66.       }
  67.  
  68.       if (var2.length() > 0) {
  69.          var3 = var2.charAt(var2.length() - 1);
  70.       }
  71.  
  72.       this.suffix = this.suffix(var1, var3);
  73.       if (this.suffix != null && this.suffix.length() > 0) {
  74.          var2.append(this.suffix);
  75.       }
  76.  
  77.    }
  78.  
  79.    void setAttributesStartingAt(int var1, Hashtable var2, TextView var3, Hashtable var4) {
  80.       int var5 = 0;
  81.       if (this.prefix != null && this.prefix.length() > 0) {
  82.          Hashtable var6 = this.attributesForPrefix(var4, var2, var3);
  83.          if (var6 != var2) {
  84.             var3.addAttributesForRange(var6, new Range(var1, this.prefix.length()));
  85.          }
  86.  
  87.          var5 += this.prefix.length();
  88.       }
  89.  
  90.       if (this.string == null) {
  91.          this.string = this.string(var4);
  92.       }
  93.  
  94.       if (this.string != null && this.string.length() > 0) {
  95.          Hashtable var7 = this.attributesForMarker(var4, var2, var3);
  96.          var3.addAttributesForRange(var7, new Range(var1 + var5, this.string.length()));
  97.          var5 += this.string.length();
  98.       }
  99.  
  100.       if (this.suffix != null && this.suffix.length() > 0) {
  101.          Hashtable var8 = this.attributesForPrefix(var4, var2, var3);
  102.          if (var8 != var2) {
  103.             var3.addAttributesForRange(var8, new Range(var1 + var5, this.suffix.length()));
  104.          }
  105.  
  106.          int var10000 = var5 + this.suffix.length();
  107.       }
  108.  
  109.    }
  110.  
  111.    public void setChildren(Object[] var1) {
  112.    }
  113.  
  114.    public void setString(String var1) {
  115.    }
  116.  
  117.    public String toString() {
  118.       return this.marker + this.attributes;
  119.    }
  120. }
  121.