home *** CD-ROM | disk | FTP | other *** search
/ PC Professionell 2005 July / PCpro_2005_07.ISO / files / wintools / FullSync / FullSyncInstaller.exe / org / apache / regexp / REDemo.class (.txt) < prev    next >
Encoding:
Java Class File  |  2005-03-08  |  3.8 KB  |  133 lines

  1. package org.apache.regexp;
  2.  
  3. import java.applet.Applet;
  4. import java.awt.Component;
  5. import java.awt.Container;
  6. import java.awt.Frame;
  7. import java.awt.GridBagConstraints;
  8. import java.awt.GridBagLayout;
  9. import java.awt.Insets;
  10. import java.awt.Label;
  11. import java.awt.TextArea;
  12. import java.awt.TextField;
  13. import java.awt.Window;
  14. import java.awt.event.TextEvent;
  15. import java.awt.event.TextListener;
  16. import java.io.CharArrayWriter;
  17. import java.io.PrintWriter;
  18. import java.util.EventObject;
  19.  
  20. public class REDemo extends Applet implements TextListener {
  21.    // $FF: renamed from: r org.apache.regexp.RE
  22.    RE field_0 = new RE();
  23.    REDebugCompiler compiler = new REDebugCompiler();
  24.    TextField fieldRE;
  25.    TextField fieldMatch;
  26.    TextArea outRE;
  27.    TextArea outMatch;
  28.  
  29.    public void init() {
  30.       GridBagLayout var1 = new GridBagLayout();
  31.       ((Container)this).setLayout(var1);
  32.       GridBagConstraints var2 = new GridBagConstraints();
  33.       var2.insets = new Insets(5, 5, 5, 5);
  34.       var2.anchor = 13;
  35.       var1.setConstraints(((Container)this).add(new Label("Regular expression:", 2)), var2);
  36.       var2.gridy = 0;
  37.       var2.anchor = 17;
  38.       var1.setConstraints(((Container)this).add(this.fieldRE = new TextField("\\[([:javastart:][:javapart:]*)\\]", 40)), var2);
  39.       var2.gridx = 0;
  40.       var2.gridy = -1;
  41.       var2.anchor = 13;
  42.       var1.setConstraints(((Container)this).add(new Label("String:", 2)), var2);
  43.       var2.gridy = 1;
  44.       var2.gridx = -1;
  45.       var2.anchor = 17;
  46.       var1.setConstraints(((Container)this).add(this.fieldMatch = new TextField("aaa([foo])aaa", 40)), var2);
  47.       var2.gridy = 2;
  48.       var2.gridx = -1;
  49.       var2.fill = 1;
  50.       var2.weighty = (double)1.0F;
  51.       var2.weightx = (double)1.0F;
  52.       var1.setConstraints(((Container)this).add(this.outRE = new TextArea()), var2);
  53.       var2.gridy = 2;
  54.       var2.gridx = -1;
  55.       var1.setConstraints(((Container)this).add(this.outMatch = new TextArea()), var2);
  56.       this.fieldRE.addTextListener(this);
  57.       this.fieldMatch.addTextListener(this);
  58.       this.textValueChanged((TextEvent)null);
  59.    }
  60.  
  61.    void sayRE(String var1) {
  62.       this.outRE.setText(var1);
  63.    }
  64.  
  65.    void sayMatch(String var1) {
  66.       this.outMatch.setText(var1);
  67.    }
  68.  
  69.    String throwableToString(Throwable var1) {
  70.       String var2 = var1.getClass().getName();
  71.       String var3;
  72.       if ((var3 = var1.getMessage()) != null) {
  73.          var2 = var2 + "\n" + var3;
  74.       }
  75.  
  76.       return var2;
  77.    }
  78.  
  79.    void updateRE(String var1) {
  80.       try {
  81.          this.field_0.setProgram(this.compiler.compile(var1));
  82.          CharArrayWriter var2 = new CharArrayWriter();
  83.          this.compiler.dumpProgram(new PrintWriter(var2));
  84.          this.sayRE(var2.toString());
  85.          System.out.println(var2);
  86.       } catch (Exception var4) {
  87.          this.field_0.setProgram((REProgram)null);
  88.          this.sayRE(this.throwableToString(var4));
  89.       } catch (Throwable var5) {
  90.          this.field_0.setProgram((REProgram)null);
  91.          this.sayRE(this.throwableToString(var5));
  92.       }
  93.  
  94.    }
  95.  
  96.    void updateMatch(String var1) {
  97.       try {
  98.          if (this.field_0.match(var1)) {
  99.             String var2 = "Matches.\n\n";
  100.  
  101.             for(int var3 = 0; var3 < this.field_0.getParenCount(); ++var3) {
  102.                var2 = var2 + "$" + var3 + " = " + this.field_0.getParen(var3) + "\n";
  103.             }
  104.  
  105.             this.sayMatch(var2);
  106.          } else {
  107.             this.sayMatch("Does not match");
  108.          }
  109.       } catch (Throwable var4) {
  110.          this.sayMatch(this.throwableToString(var4));
  111.       }
  112.  
  113.    }
  114.  
  115.    public void textValueChanged(TextEvent var1) {
  116.       if (var1 == null || ((EventObject)var1).getSource() == this.fieldRE) {
  117.          this.updateRE(this.fieldRE.getText());
  118.       }
  119.  
  120.       this.updateMatch(this.fieldMatch.getText());
  121.    }
  122.  
  123.    public static void main(String[] var0) {
  124.       Frame var1 = new Frame("RE Demo");
  125.       ((Window)var1).addWindowListener(new 1());
  126.       REDemo var2 = new REDemo();
  127.       ((Container)var1).add(var2);
  128.       var2.init();
  129.       ((Window)var1).pack();
  130.       ((Component)var1).setVisible(true);
  131.    }
  132. }
  133.