55 * This software consists of voluntary contributions made by many
56 * individuals on behalf of the Apache Software Foundation. For more
57 * information on the Apache Software Foundation, please see
58 * <http://www.apache.org/>.
59 */
60
61 import java.lang.reflect.*;
62
63 /**
64 * Java interpreter replacement, i.e., wrapper that uses its own ClassLoader
65 * to modify/generate classes as they're requested. You can take this as a template
66 * for your own applications.<br>
67 * Call this wrapper with
68 * <pre>java com.sun.org.apache.bcel.internal.util.JavaWrapper <real.class.name> [arguments]</pre>
69 * <p>
70 * To use your own class loader you can set the "bcel.classloader" system property
71 * which defaults to "com.sun.org.apache.bcel.internal.util.ClassLoader", e.g., with
72 * <pre>java com.sun.org.apache.bcel.internal.util.JavaWrapper -Dbcel.classloader=foo.MyLoader <real.class.name> [arguments]</pre>
73 * </p>
74 *
75 * @version $Id: JavaWrapper.java,v 1.3 2007-07-19 04:34:52 ofung Exp $
76 * @author <A HREF="mailto:markus.dahm@berlin.de">M. Dahm</A>
77 * @see ClassLoader
78 */
79 public class JavaWrapper {
80 private java.lang.ClassLoader loader;
81
82 private static java.lang.ClassLoader getClassLoader() {
83 String s = SecuritySupport.getSystemProperty("bcel.classloader");
84
85 if((s == null) || "".equals(s))
86 s = "com.sun.org.apache.bcel.internal.util.ClassLoader";
87
88 try {
89 return (java.lang.ClassLoader)Class.forName(s).newInstance();
90 } catch(Exception e) {
91 throw new RuntimeException(e.toString());
92 }
93 }
94
95 public JavaWrapper(java.lang.ClassLoader loader) {
|
55 * This software consists of voluntary contributions made by many
56 * individuals on behalf of the Apache Software Foundation. For more
57 * information on the Apache Software Foundation, please see
58 * <http://www.apache.org/>.
59 */
60
61 import java.lang.reflect.*;
62
63 /**
64 * Java interpreter replacement, i.e., wrapper that uses its own ClassLoader
65 * to modify/generate classes as they're requested. You can take this as a template
66 * for your own applications.<br>
67 * Call this wrapper with
68 * <pre>java com.sun.org.apache.bcel.internal.util.JavaWrapper <real.class.name> [arguments]</pre>
69 * <p>
70 * To use your own class loader you can set the "bcel.classloader" system property
71 * which defaults to "com.sun.org.apache.bcel.internal.util.ClassLoader", e.g., with
72 * <pre>java com.sun.org.apache.bcel.internal.util.JavaWrapper -Dbcel.classloader=foo.MyLoader <real.class.name> [arguments]</pre>
73 * </p>
74 *
75 * @author <A HREF="mailto:markus.dahm@berlin.de">M. Dahm</A>
76 * @see ClassLoader
77 */
78 public class JavaWrapper {
79 private java.lang.ClassLoader loader;
80
81 private static java.lang.ClassLoader getClassLoader() {
82 String s = SecuritySupport.getSystemProperty("bcel.classloader");
83
84 if((s == null) || "".equals(s))
85 s = "com.sun.org.apache.bcel.internal.util.ClassLoader";
86
87 try {
88 return (java.lang.ClassLoader)Class.forName(s).newInstance();
89 } catch(Exception e) {
90 throw new RuntimeException(e.toString());
91 }
92 }
93
94 public JavaWrapper(java.lang.ClassLoader loader) {
|