home *** CD-ROM | disk | FTP | other *** search
/ Symantec Visual Cafe for Java 2.5 / symantec-visual-cafe-2.5-database-dev-edition.iso / VPage / Java.bin / CLASSES.ZIP / sun / tools / serialver / SerialVer.class (.txt) next >
Encoding:
Java Class File  |  1997-07-08  |  5.5 KB  |  217 lines

  1. package sun.tools.serialver;
  2.  
  3. import java.applet.Applet;
  4. import java.awt.Button;
  5. import java.awt.Container;
  6. import java.awt.Event;
  7. import java.awt.GridBagConstraints;
  8. import java.awt.GridBagLayout;
  9. import java.awt.Label;
  10. import java.awt.TextField;
  11. import java.awt.Window;
  12. import java.io.BufferedInputStream;
  13. import java.io.FileInputStream;
  14. import java.io.IOException;
  15. import java.io.InputStream;
  16. import java.io.ObjectStreamClass;
  17. import java.text.MessageFormat;
  18. import java.util.Properties;
  19.  
  20. public class SerialVer extends Applet {
  21.    // $FF: renamed from: gb java.awt.GridBagLayout
  22.    GridBagLayout field_0;
  23.    TextField classname_t;
  24.    Button show_b;
  25.    TextField serialversion_t;
  26.    Label footer_l;
  27.  
  28.    public synchronized void init() {
  29.       String var1 = System.getProperty("java.home");
  30.       String var2 = System.getProperty("rmi.home");
  31.       if (var2 == null || var2.length() == 0) {
  32.          var2 = var1;
  33.       }
  34.  
  35.       pushPropFile(var2, "serialver.properties");
  36.       this.field_0 = new GridBagLayout();
  37.       ((Container)this).setLayout(this.field_0);
  38.       GridBagConstraints var3 = new GridBagConstraints();
  39.       var3.fill = 1;
  40.       Label var4 = new Label(I18N("FullClassName"));
  41.       var4.setAlignment(2);
  42.       this.field_0.setConstraints(var4, var3);
  43.       ((Container)this).add(var4);
  44.       this.classname_t = new TextField(20);
  45.       var3.gridwidth = -1;
  46.       var3.weightx = (double)1.0F;
  47.       this.field_0.setConstraints(this.classname_t, var3);
  48.       ((Container)this).add(this.classname_t);
  49.       this.show_b = new Button(I18N("Show"));
  50.       var3.gridwidth = 0;
  51.       var3.weightx = (double)0.0F;
  52.       this.field_0.setConstraints(this.show_b, var3);
  53.       ((Container)this).add(this.show_b);
  54.       Label var5 = new Label(I18N("SerialVersion"));
  55.       var5.setAlignment(2);
  56.       var3.gridwidth = 1;
  57.       this.field_0.setConstraints(var5, var3);
  58.       ((Container)this).add(var5);
  59.       this.serialversion_t = new TextField(50);
  60.       this.serialversion_t.setEditable(false);
  61.       var3.gridwidth = 0;
  62.       this.field_0.setConstraints(this.serialversion_t, var3);
  63.       ((Container)this).add(this.serialversion_t);
  64.       this.footer_l = new Label();
  65.       var3.gridwidth = 0;
  66.       this.field_0.setConstraints(this.footer_l, var3);
  67.       ((Container)this).add(this.footer_l);
  68.       this.classname_t.requestFocus();
  69.    }
  70.  
  71.    public void start() {
  72.       this.classname_t.requestFocus();
  73.    }
  74.  
  75.    public boolean action(Event var1, Object var2) {
  76.       if (var1.target == this.classname_t) {
  77.          this.show((String)var1.arg);
  78.          return true;
  79.       } else if (var1.target == this.show_b) {
  80.          this.show(this.classname_t.getText());
  81.          return true;
  82.       } else {
  83.          return false;
  84.       }
  85.    }
  86.  
  87.    public boolean handleEvent(Event var1) {
  88.       boolean var2 = super.handleEvent(var1);
  89.       return var2;
  90.    }
  91.  
  92.    void show(String var1) {
  93.       try {
  94.          this.footer_l.setText("");
  95.          this.serialversion_t.setText("");
  96.          if (!var1.equals("")) {
  97.             String var2 = serialSyntax(var1);
  98.             if (var2 != null) {
  99.                this.serialversion_t.setText(var2);
  100.             } else {
  101.                this.footer_l.setText(I18N("NotSerializable", var1));
  102.             }
  103.          }
  104.       } catch (ClassNotFoundException var3) {
  105.          this.footer_l.setText(I18N("ClassNotFound", var1));
  106.       }
  107.    }
  108.  
  109.    static String serialSyntax(String var0) throws ClassNotFoundException {
  110.       Class var1 = Class.forName(var0);
  111.       ObjectStreamClass var2 = ObjectStreamClass.lookup(var1);
  112.       return var2 != null ? "    static final long serialVersionUID = " + var2.getSerialVersionUID() + "L;" : null;
  113.    }
  114.  
  115.    public static String I18N(String var0) {
  116.       return System.getProperty(var0, "<" + var0 + ">");
  117.    }
  118.  
  119.    public static String I18N(String var0, String var1) {
  120.       return I18N(var0, var1, (String)null);
  121.    }
  122.  
  123.    public static String I18N(String var0, String var1, String var2) {
  124.       String var3 = System.getProperty(var0);
  125.       if (var3 == null) {
  126.          return "Message '" + var0 + "' not found";
  127.       } else {
  128.          Object[] var4 = new Object[]{var1, var2};
  129.  
  130.          for(int var5 = 0; var5 < var4.length; ++var5) {
  131.             if (var4[var5] != null & !(var4[var5] instanceof String)) {
  132.                var4[var5] = var4[var5].toString();
  133.             }
  134.          }
  135.  
  136.          return MessageFormat.format(var3, var4);
  137.       }
  138.    }
  139.  
  140.    static void pushPropFile(String var0, String var1) {
  141.       String var2 = var0 + System.getProperty("file.separator") + "lib" + System.getProperty("file.separator") + var1;
  142.  
  143.       try {
  144.          Properties var3 = new Properties(System.getProperties());
  145.          BufferedInputStream var4 = new BufferedInputStream(new FileInputStream(var2));
  146.          var3.load(var4);
  147.          ((InputStream)var4).close();
  148.          System.setProperties(var3);
  149.       } catch (IOException var5) {
  150.          System.err.println("failed to read properties file: " + var2);
  151.       }
  152.    }
  153.  
  154.    public static void main(String[] var0) {
  155.       String var1 = System.getProperty("java.home");
  156.       String var2 = System.getProperty("rmi.home");
  157.       if (var2 == null || var2.length() == 0) {
  158.          var2 = var1;
  159.       }
  160.  
  161.       pushPropFile(var2, "serialver.properties");
  162.       boolean var3 = false;
  163.  
  164.       int var4;
  165.       for(var4 = 0; var4 < var0.length; ++var4) {
  166.          if (var0[var4].equals("-show")) {
  167.             var3 = true;
  168.          } else {
  169.             if (!var0[var4].startsWith("-")) {
  170.                break;
  171.             }
  172.  
  173.             System.err.println(I18N("invalid.flag", var0[var4]));
  174.             usage();
  175.             System.exit(1);
  176.          }
  177.       }
  178.  
  179.       if (!var3) {
  180.          if (var4 == var0.length) {
  181.             usage();
  182.             System.exit(0);
  183.          }
  184.  
  185.          for(int var8 = var4; var8 < var0.length; ++var8) {
  186.             try {
  187.                String var9 = serialSyntax(var0[var8]);
  188.                if (var9 != null) {
  189.                   System.out.println(var0[var8] + ":" + var9);
  190.                } else {
  191.                   System.err.println(I18N("NotSerializable", var0[var8]));
  192.                }
  193.             } catch (ClassNotFoundException var7) {
  194.                System.err.println(I18N("ClassNotFound", var0[var8]));
  195.             }
  196.          }
  197.  
  198.       } else {
  199.          if (var4 < var0.length) {
  200.             System.err.println(I18N("ignoring.classes"));
  201.             System.exit(1);
  202.          }
  203.  
  204.          SerialVerFrame var5 = new SerialVerFrame();
  205.          SerialVer var6 = new SerialVer();
  206.          var6.init();
  207.          ((Container)var5).add("Center", var6);
  208.          ((Window)var5).pack();
  209.          ((Window)var5).show();
  210.       }
  211.    }
  212.  
  213.    public static void usage() {
  214.       System.err.println(I18N("usage"));
  215.    }
  216. }
  217.