home *** CD-ROM | disk | FTP | other *** search
/ Sky at Night 2007 June / SAN CD 6-2007 CD-ROM 25.iso / pc / Software / AstroGrav_Win / Java / jre1.6.0 / lib / plugin.jar / sun / plugin / BeansViewer.class (.txt) < prev    next >
Encoding:
Java Class File  |  2006-11-29  |  3.0 KB  |  122 lines

  1. package sun.plugin;
  2.  
  3. import com.sun.deploy.util.URLUtil;
  4. import java.applet.Applet;
  5. import java.beans.Beans;
  6. import java.beans.XMLDecoder;
  7. import java.io.ByteArrayInputStream;
  8. import java.io.IOException;
  9. import java.net.MalformedURLException;
  10. import java.net.URL;
  11. import javax.swing.JComponent;
  12. import javax.swing.LayoutFocusTraversalPolicy;
  13. import sun.applet.AppletClassLoader;
  14.  
  15. public class BeansViewer extends AppletViewer {
  16.    public static final int APPLET_DISPOSE = 0;
  17.    public static final int APPLET_ERROR = 7;
  18.    private byte[] bytes = null;
  19.  
  20.    public static Applet createJavaBeanComponent(AppletViewer var0, AppletClassLoader var1) throws ClassNotFoundException, IllegalAccessException, IOException, InstantiationException, InterruptedException {
  21.       String var3 = var0.getSerializedObject();
  22.       String var4 = var0.getCode();
  23.       if (var4 != null && var3 != null) {
  24.          System.err.println(AppletViewer.getMessage("bean_code_and_ser"));
  25.          return null;
  26.       } else {
  27.          if (var4 == null && var3 == null) {
  28.             String var5 = "nocode";
  29.             var0.setStatus(7);
  30.             var0.showAppletStatus(var5);
  31.             var0.showAppletLog(var5);
  32.             var0.repaint();
  33.          }
  34.  
  35.          Applet var2;
  36.          if (var4 != null) {
  37.             Object var10 = Beans.instantiate(var1, var4);
  38.             var2 = createApplet(var10);
  39.             var0.setDoInit(true);
  40.          } else {
  41.             Object var11 = Beans.instantiate(var1, var3);
  42.             var2 = createApplet(var11);
  43.             var0.setDoInit(false);
  44.          }
  45.  
  46.          if (Thread.interrupted()) {
  47.             try {
  48.                var0.setStatus(0);
  49.                Object var9 = null;
  50.                var0.showAppletStatus("death");
  51.             } finally {
  52.                Thread.currentThread().interrupt();
  53.             }
  54.  
  55.             return null;
  56.          } else {
  57.             return var2;
  58.          }
  59.       }
  60.    }
  61.  
  62.    protected Applet createApplet(AppletClassLoader var1) throws ClassNotFoundException, IllegalAccessException, IOException, InstantiationException, InterruptedException {
  63.       if (this.bytes == null) {
  64.          return createJavaBeanComponent(this, var1);
  65.       } else {
  66.          ByteArrayInputStream var2 = new ByteArrayInputStream(this.bytes);
  67.          XMLDecoder var3 = new XMLDecoder(var2);
  68.          Object var4 = var3.readObject();
  69.          Applet var5 = createApplet(var4);
  70.          var2.close();
  71.          this.setDoInit(true);
  72.          return var5;
  73.       }
  74.    }
  75.  
  76.    protected String getHandledType() {
  77.       return "JavaBeans";
  78.    }
  79.  
  80.    public URL getCodeBase() {
  81.       if (!this.codeBaseInit) {
  82.          String var1 = this.getParameter("java_codebase");
  83.          if (var1 == null) {
  84.             var1 = this.getParameter("codebase");
  85.          }
  86.  
  87.          if (var1 != null) {
  88.             if (!var1.equals(".") && !var1.endsWith("/")) {
  89.                var1 = var1 + "/";
  90.             }
  91.  
  92.             try {
  93.                this.baseURL = new URL(URLUtil.canonicalize(var1));
  94.             } catch (MalformedURLException var3) {
  95.             }
  96.          }
  97.  
  98.          this.codeBaseInit = true;
  99.       }
  100.  
  101.       return this.baseURL;
  102.    }
  103.  
  104.    public URL getDocumentBase() {
  105.       return null;
  106.    }
  107.  
  108.    public void setByteStream(byte[] var1) {
  109.       this.bytes = var1;
  110.    }
  111.  
  112.    static Applet createApplet(Object var0) {
  113.       BeansApplet var1 = new BeansApplet(var0);
  114.       if (var0 instanceof JComponent) {
  115.          ((Applet)var1).setFocusTraversalPolicy(new LayoutFocusTraversalPolicy());
  116.          ((Applet)var1).setFocusTraversalPolicyProvider(true);
  117.       }
  118.  
  119.       return var1;
  120.    }
  121. }
  122.