home *** CD-ROM | disk | FTP | other *** search
/ Computer Shopper 139 / dpcs0999.iso / Web / CFserver / data1.cab / Java / allaire / util / template / IfElement.class (.txt) < prev    next >
Encoding:
Java Class File  |  1999-04-12  |  1.0 KB  |  42 lines

  1. package allaire.util.template;
  2.  
  3. import netscape.util.Vector;
  4.  
  5. class IfElement extends BooleanElement {
  6.    public void process(TemplateOutput var1) throws TemplateException {
  7.       Vector var2 = ((TemplateTagElement)this).getSubElements();
  8.       if (((TemplateTagElement)this).evaluateExpression(((BooleanElement)this).getExpression())) {
  9.          this.processUntilBooleanElement(var2, 0, var1);
  10.       } else {
  11.          int var3 = var2.size();
  12.  
  13.          for(int var4 = 0; var4 < var3; ++var4) {
  14.             Object var5 = var2.elementAt(var4);
  15.             if (var5 instanceof BooleanElement && !(var5 instanceof IfElement)) {
  16.                BooleanElement var6 = (BooleanElement)var5;
  17.                if (((TemplateTagElement)this).evaluateExpression(var6.getExpression())) {
  18.                   this.processUntilBooleanElement(var2, var4 + 1, var1);
  19.                   return;
  20.                }
  21.             }
  22.          }
  23.  
  24.       }
  25.    }
  26.  
  27.    private void processUntilBooleanElement(Vector var1, int var2, TemplateOutput var3) throws TemplateException {
  28.       int var4 = var1.size() - 1;
  29.  
  30.       for(int var5 = var2; var5 <= var4; ++var5) {
  31.          Object var6 = var1.elementAt(var5);
  32.          if (var6 instanceof BooleanElement && !(var6 instanceof IfElement)) {
  33.             break;
  34.          }
  35.  
  36.          TemplateElement var7 = (TemplateElement)var6;
  37.          var7.process(var3);
  38.       }
  39.  
  40.    }
  41. }
  42.