home *** CD-ROM | disk | FTP | other *** search
/ PC Online 1999 November / PCONLINE_11_99.ISO / filesbbs / OS2 / APCHSSL2.ZIP / OS2HTTPD / jserv / com / kav / xsl / AttributeValueTemplate.class (.txt) < prev    next >
Encoding:
Java Class File  |  1999-05-16  |  1.8 KB  |  94 lines

  1. package com.kav.xsl;
  2.  
  3. import com.kav.util.List;
  4. import java.util.StringTokenizer;
  5. import org.w3c.dom.Node;
  6.  
  7. public class AttributeValueTemplate {
  8.    private static final String END_EXPR = "}";
  9.    private static final String START_EXPR = "{";
  10.    private static final String tokens = "{}";
  11.    private List components;
  12.  
  13.    public AttributeValueTemplate() {
  14.       this.components = new List();
  15.    }
  16.  
  17.    public AttributeValueTemplate(String var1) throws InvalidExprException {
  18.       this();
  19.       if (var1 != null) {
  20.          this.parse(var1);
  21.       }
  22.  
  23.    }
  24.  
  25.    public void addComponent(AVTComponent var1) {
  26.       this.components.add(var1);
  27.    }
  28.  
  29.    public String getValue(Node var1, ProcessorState var2) {
  30.       StringBuffer var3 = new StringBuffer();
  31.       Object var4 = null;
  32.  
  33.       for(int var5 = 0; var5 < this.components.size(); ++var5) {
  34.          AVTComponent var6 = (AVTComponent)this.components.get(var5);
  35.          var3.append(var6.getValue(var1, var2));
  36.       }
  37.  
  38.       return var3.toString();
  39.    }
  40.  
  41.    public void removeComponent(AVTComponent var1) {
  42.       this.components.remove(var1);
  43.    }
  44.  
  45.    public String toString() {
  46.       StringBuffer var1 = new StringBuffer();
  47.       Object var2 = null;
  48.  
  49.       for(int var3 = 0; var3 < this.components.size(); ++var3) {
  50.          AVTComponent var4 = (AVTComponent)this.components.get(var3);
  51.          var1.append(var4.toString());
  52.       }
  53.  
  54.       return var1.toString();
  55.    }
  56.  
  57.    private void parse(String var1) throws InvalidExprException {
  58.       Object var2 = null;
  59.       StringTokenizer var3 = new StringTokenizer(var1, "{}", true);
  60.       boolean var4 = false;
  61.       StringBuffer var5 = new StringBuffer();
  62.       Object var6 = null;
  63.  
  64.       for(String var7 = null; var3.hasMoreTokens(); var7 = var9) {
  65.          var9 = var3.nextToken();
  66.          if (var9.equals("{")) {
  67.             if (!var4) {
  68.                var4 = true;
  69.             } else if ("{".equals(var7)) {
  70.                var4 = false;
  71.                this.addComponent(new AVTComponent(var9));
  72.             } else {
  73.                var5.append(var9);
  74.             }
  75.          } else if (var9.equals("}")) {
  76.             if (var4) {
  77.                var4 = false;
  78.                StringExpr var8 = new StringExpr(var5.toString());
  79.                this.addComponent(new AVTComponent(var8));
  80.                var5.setLength(0);
  81.             } else if ("}".equals(var7)) {
  82.                this.addComponent(new AVTComponent(var9));
  83.                var9 = "}}";
  84.             }
  85.          } else if (var4) {
  86.             var5.append(var9);
  87.          } else {
  88.             this.addComponent(new AVTComponent(var9));
  89.          }
  90.       }
  91.  
  92.    }
  93. }
  94.