-import java.io.File;\r
-import java.io.IOException;\r
-\r
-import java.lang.reflect.Constructor;\r
-import java.lang.reflect.Field;\r
-import java.lang.reflect.InvocationTargetException;\r
-import java.lang.reflect.Method;\r
-\r
-\r
-/**
- * BrowserLauncher is a class that provides one static method, openURL, which opens the default
- * web browser for the current user of the system to the given URL. It may support other
- * protocols depending on the system -- mailto, ftp, etc. -- but that has not been rigorously
- * tested and is not guaranteed to work.
- * <p>
- * Yes, this is platform-specific code, and yes, it may rely on classes on certain platforms
- * that are not part of the standard JDK. What we're trying to do, though, is to take something
- * that's frequently desirable but inherently platform-specific -- opening a default browser --
- * and allow programmers (you, for example) to do so without worrying about dropping into native
- * code or doing anything else similarly evil.
- * <p>
- * Anyway, this code is completely in Java and will run on all JDK 1.1-compliant systems without
- * modification or a need for additional libraries. All classes that are required on certain
- * platforms to allow this to run are dynamically loaded at runtime via reflection and, if not
- * found, will not cause this to do anything other than returning an error when opening the
- * browser.
- * <p>
- * There are certain system requirements for this class, as it's running through Runtime.exec(),
- * which is Java's way of making a native system call. Currently, this requires that a Macintosh
- * have a Finder which supports the GURL event, which is true for Mac OS 8.0 and 8.1 systems that
- * have the Internet Scripting AppleScript dictionary installed in the Scripting Additions folder
- * in the Extensions folder (which is installed by default as far as I know under Mac OS 8.0 and
- * 8.1), and for all Mac OS 8.5 and later systems. On Windows, it only runs under Win32 systems
- * (Windows 95, 98, and NT 4.0, as well as later versions of all). On other systems, this drops
- * back from the inherently platform-sensitive concept of a default browser and simply attempts
- * to launch Netscape via a shell command.
- * <p>
- * This code is Copyright 1999-2001 by Eric Albert (ejalbert\@cs.stanford.edu) and may be
- * redistributed or modified in any form without restrictions as long as the portion of this
- * comment from this paragraph through the end of the comment is not removed. The author
- * requests that he be notified of any application, applet, or other binary that makes use of
- * this code, but that's more out of curiosity than anything and is not required. This software
- * includes no warranty. The author is not repsonsible for any loss of data or functionality
- * or any adverse or unexpected effects of using this software.
- * <p>
- * Credits:
- * <br>Steven Spencer, JavaWorld magazine (<a href="http://www.javaworld.com/javaworld/javatips/jw-javatip66.html">Java Tip 66</a>)
- * <br>Thanks also to Ron B. Yeh, Eric Shapiro, Ben Engber, Paul Teitlebaum, Andrea Cantatore,
- * Larry Barowski, Trevor Bedzek, Frank Miedrich, and Ron Rabakukk
- *
- * @author Eric Albert (<a href="mailto:ejalbert@cs.stanford.edu">ejalbert@cs.stanford.edu</a>)
- * @version 1.4b1 (Released June 20, 2001)
- */\r
-public class BrowserLauncher {\r
- /**
- * The Java virtual machine that we are running on. Actually, in most cases we only care
- * about the operating system, but some operating systems require us to switch on the VM. */\r
- private static int jvm;\r
-\r
- /** The browser for the system */\r
- private static Object browser;\r
-\r
- /**
- * Caches whether any classes, methods, and fields that are not part of the JDK and need to
- * be dynamically loaded at runtime loaded successfully.
- * <p>
- * Note that if this is <code>false</code>, <code>openURL()</code> will always return an
- * IOException.
+import java.io.*;\r
+import java.lang.reflect.*;\r
+\r
+/**\r
+ * BrowserLauncher is a class that provides one static method, openURL, which opens the default\r
+ * web browser for the current user of the system to the given URL. It may support other\r
+ * protocols depending on the system -- mailto, ftp, etc. -- but that has not been rigorously\r
+ * tested and is not guaranteed to work.\r
+ * <p>\r
+ * Yes, this is platform-specific code, and yes, it may rely on classes on certain platforms\r
+ * that are not part of the standard JDK. What we're trying to do, though, is to take something\r
+ * that's frequently desirable but inherently platform-specific -- opening a default browser --\r
+ * and allow programmers (you, for example) to do so without worrying about dropping into native\r
+ * code or doing anything else similarly evil.\r
+ * <p>\r
+ * Anyway, this code is completely in Java and will run on all JDK 1.1-compliant systems without\r
+ * modification or a need for additional libraries. All classes that are required on certain\r
+ * platforms to allow this to run are dynamically loaded at runtime via reflection and, if not\r
+ * found, will not cause this to do anything other than returning an error when opening the\r
+ * browser.\r
+ * <p>\r
+ * There are certain system requirements for this class, as it's running through Runtime.exec(),\r
+ * which is Java's way of making a native system call. Currently, this requires that a Macintosh\r
+ * have a Finder which supports the GURL event, which is true for Mac OS 8.0 and 8.1 systems that\r
+ * have the Internet Scripting AppleScript dictionary installed in the Scripting Additions folder\r
+ * in the Extensions folder (which is installed by default as far as I know under Mac OS 8.0 and\r
+ * 8.1), and for all Mac OS 8.5 and later systems. On Windows, it only runs under Win32 systems\r
+ * (Windows 95, 98, and NT 4.0, as well as later versions of all). On other systems, this drops\r
+ * back from the inherently platform-sensitive concept of a default browser and simply attempts\r
+ * to launch Netscape via a shell command.\r
+ * <p>\r
+ * This code is Copyright 1999-2001 by Eric Albert (ejalbert\@cs.stanford.edu) and may be\r
+ * redistributed or modified in any form without restrictions as long as the portion of this\r
+ * comment from this paragraph through the end of the comment is not removed. The author\r
+ * requests that he be notified of any application, applet, or other binary that makes use of\r
+ * this code, but that's more out of curiosity than anything and is not required. This software\r
+ * includes no warranty. The author is not repsonsible for any loss of data or functionality\r
+ * or any adverse or unexpected effects of using this software.\r
+ * <p>\r
+ * Credits:\r
+ * <br>Steven Spencer, JavaWorld magazine (<a href="http://www.javaworld.com/javaworld/javatips/jw-javatip66.html">Java Tip 66</a>)\r
+ * <br>Thanks also to Ron B. Yeh, Eric Shapiro, Ben Engber, Paul Teitlebaum, Andrea Cantatore,\r
+ * Larry Barowski, Trevor Bedzek, Frank Miedrich, and Ron Rabakukk\r
+ *\r
+ * @author Eric Albert (<a href="mailto:ejalbert@cs.stanford.edu">ejalbert@cs.stanford.edu</a>)\r
+ * @version 1.4b1 (Released June 20, 2001)\r