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 / html / StyleSheet$ResolvedStyle.class (.txt) < prev    next >
Encoding:
Java Class File  |  1979-12-31  |  2.6 KB  |  175 lines

  1. package javax.swing.text.html;
  2.  
  3. import java.io.Serializable;
  4. import java.util.Enumeration;
  5. import javax.swing.event.ChangeListener;
  6. import javax.swing.text.AttributeSet;
  7. import javax.swing.text.Style;
  8.  
  9. class StyleSheet$ResolvedStyle extends StyleSheet.MuxingAttributeSet implements Serializable, Style {
  10.    String name;
  11.    private int extendedIndex;
  12.  
  13.    StyleSheet$ResolvedStyle(String var1, AttributeSet[] var2, int var3) {
  14.       super.attrs = var2;
  15.       this.name = var1;
  16.       this.extendedIndex = var3;
  17.    }
  18.  
  19.    synchronized void insertStyle(Style var1, int var2) {
  20.       int var3 = super.attrs.length;
  21.  
  22.       int var4;
  23.       for(var4 = 0; var4 < this.extendedIndex && var2 <= StyleSheet.getSpecificity(((Style)super.attrs[var4]).getName()); ++var4) {
  24.       }
  25.  
  26.       ((StyleSheet.MuxingAttributeSet)this).insertAttributeSetAt(var1, var4);
  27.       ++this.extendedIndex;
  28.    }
  29.  
  30.    synchronized void removeStyle(Style var1) {
  31.       for(int var2 = super.attrs.length - 1; var2 >= 0; --var2) {
  32.          if (super.attrs[var2] == var1) {
  33.             ((StyleSheet.MuxingAttributeSet)this).removeAttributeSetAt(var2);
  34.             if (var2 < this.extendedIndex) {
  35.                --this.extendedIndex;
  36.             }
  37.             break;
  38.          }
  39.       }
  40.  
  41.    }
  42.  
  43.    synchronized void insertExtendedStyleAt(Style var1, int var2) {
  44.       ((StyleSheet.MuxingAttributeSet)this).insertAttributeSetAt(var1, this.extendedIndex + var2);
  45.    }
  46.  
  47.    synchronized void addExtendedStyle(Style var1) {
  48.       ((StyleSheet.MuxingAttributeSet)this).insertAttributeSetAt(var1, super.attrs.length);
  49.    }
  50.  
  51.    synchronized void removeExtendedStyleAt(int var1) {
  52.       ((StyleSheet.MuxingAttributeSet)this).removeAttributeSetAt(this.extendedIndex + var1);
  53.    }
  54.  
  55.    protected boolean matches(String var1) {
  56.       int var2 = var1.length();
  57.       if (var2 == 0) {
  58.          return false;
  59.       } else {
  60.          int var3 = this.name.length();
  61.          int var4 = var1.lastIndexOf(32);
  62.          int var5 = this.name.lastIndexOf(32);
  63.          if (var4 >= 0) {
  64.             ++var4;
  65.          }
  66.  
  67.          if (var5 >= 0) {
  68.             ++var5;
  69.          }
  70.  
  71.          if (!this.matches(var1, var4, var2, var5, var3)) {
  72.             return false;
  73.          } else {
  74.             while(var4 != -1) {
  75.                var2 = var4 - 1;
  76.                var4 = var1.lastIndexOf(32, var2 - 1);
  77.                if (var4 >= 0) {
  78.                   ++var4;
  79.                }
  80.  
  81.                boolean var6;
  82.                for(var6 = false; !var6 && var5 != -1; var6 = this.matches(var1, var4, var2, var5, var3)) {
  83.                   var3 = var5 - 1;
  84.                   var5 = this.name.lastIndexOf(32, var3 - 1);
  85.                   if (var5 >= 0) {
  86.                      ++var5;
  87.                   }
  88.                }
  89.  
  90.                if (!var6) {
  91.                   return false;
  92.                }
  93.             }
  94.  
  95.             return true;
  96.          }
  97.       }
  98.    }
  99.  
  100.    boolean matches(String var1, int var2, int var3, int var4, int var5) {
  101.       var2 = Math.max(var2, 0);
  102.       var4 = Math.max(var4, 0);
  103.       int var6 = this.boundedIndexOf(this.name, '.', var4, var5);
  104.       int var7 = this.boundedIndexOf(this.name, '#', var4, var5);
  105.       int var8 = this.boundedIndexOf(var1, '.', var2, var3);
  106.       int var9 = this.boundedIndexOf(var1, '#', var2, var3);
  107.       if (var8 != -1) {
  108.          if (var6 == -1) {
  109.             return false;
  110.          } else {
  111.             if (var2 == var8) {
  112.                if (var5 - var6 != var3 - var8 || !var1.regionMatches(var2, this.name, var6, var5 - var6)) {
  113.                   return false;
  114.                }
  115.             } else if (var3 - var2 != var5 - var4 || !var1.regionMatches(var2, this.name, var4, var5 - var4)) {
  116.                return false;
  117.             }
  118.  
  119.             return true;
  120.          }
  121.       } else if (var9 != -1) {
  122.          if (var7 == -1) {
  123.             return false;
  124.          } else {
  125.             if (var2 == var9) {
  126.                if (var5 - var7 != var3 - var9 || !var1.regionMatches(var2, this.name, var7, var5 - var7)) {
  127.                   return false;
  128.                }
  129.             } else if (var3 - var2 != var5 - var4 || !var1.regionMatches(var2, this.name, var4, var5 - var4)) {
  130.                return false;
  131.             }
  132.  
  133.             return true;
  134.          }
  135.       } else if (var6 != -1) {
  136.          return var1.regionMatches(var2, this.name, var4, var6 - var4);
  137.       } else {
  138.          return var7 != -1 ? var1.regionMatches(var2, this.name, var4, var7 - var4) : var1.regionMatches(var2, this.name, var4, var5 - var4);
  139.       }
  140.    }
  141.  
  142.    int boundedIndexOf(String var1, char var2, int var3, int var4) {
  143.       int var5 = var1.indexOf(var2, var3);
  144.       return var5 >= var4 ? -1 : var5;
  145.    }
  146.  
  147.    public void addAttribute(Object var1, Object var2) {
  148.    }
  149.  
  150.    public void addAttributes(AttributeSet var1) {
  151.    }
  152.  
  153.    public void removeAttribute(Object var1) {
  154.    }
  155.  
  156.    public void removeAttributes(Enumeration var1) {
  157.    }
  158.  
  159.    public void removeAttributes(AttributeSet var1) {
  160.    }
  161.  
  162.    public void setResolveParent(AttributeSet var1) {
  163.    }
  164.  
  165.    public String getName() {
  166.       return this.name;
  167.    }
  168.  
  169.    public void addChangeListener(ChangeListener var1) {
  170.    }
  171.  
  172.    public void removeChangeListener(ChangeListener var1) {
  173.    }
  174. }
  175.