home *** CD-ROM | disk | FTP | other *** search
- package allaire.util.template;
-
- import netscape.util.Vector;
-
- class IfElement extends BooleanElement {
- public void process(TemplateOutput var1) throws TemplateException {
- Vector var2 = ((TemplateTagElement)this).getSubElements();
- if (((TemplateTagElement)this).evaluateExpression(((BooleanElement)this).getExpression())) {
- this.processUntilBooleanElement(var2, 0, var1);
- } else {
- int var3 = var2.size();
-
- for(int var4 = 0; var4 < var3; ++var4) {
- Object var5 = var2.elementAt(var4);
- if (var5 instanceof BooleanElement && !(var5 instanceof IfElement)) {
- BooleanElement var6 = (BooleanElement)var5;
- if (((TemplateTagElement)this).evaluateExpression(var6.getExpression())) {
- this.processUntilBooleanElement(var2, var4 + 1, var1);
- return;
- }
- }
- }
-
- }
- }
-
- private void processUntilBooleanElement(Vector var1, int var2, TemplateOutput var3) throws TemplateException {
- int var4 = var1.size() - 1;
-
- for(int var5 = var2; var5 <= var4; ++var5) {
- Object var6 = var1.elementAt(var5);
- if (var6 instanceof BooleanElement && !(var6 instanceof IfElement)) {
- break;
- }
-
- TemplateElement var7 = (TemplateElement)var6;
- var7.process(var3);
- }
-
- }
- }
-