de.fub.bytecode.util
Class JavaWrapper

java.lang.Object
  |
  +--de.fub.bytecode.util.JavaWrapper

public class JavaWrapper
extends java.lang.Object

Java interpreter replacement, i.e., wrapper that uses its own ClassLoader to modify/generate classes as they're requested. You can take this as a template for your own applications.
Call this wrapper with

java de.fub.bytecode.util.JavaWrapper <real.class.name> [arguments]

To use your own class loader you can set the "bcel.classloader" system property which defaults to "de.fub.bytecode.util.ClassLoader", e.g., with

java de.fub.bytecode.util.JavaWrapper -Dbcel.classloader=foo.MyLoader <real.class.name> [arguments]

Version:
$Id: JavaWrapper.java,v 1.3 2001/08/24 13:56:51 dahm Exp $
Author:
M. Dahm
See Also:
ClassLoader

Constructor Summary
JavaWrapper()
           
JavaWrapper(java.lang.ClassLoader loader)
           
 
Method Summary
static void main(java.lang.String[] argv)
          Default main method used as wrapper, expects the fully qualified class name of the real class as the first argument.
 void runMain(java.lang.String class_name, java.lang.String[] argv)
          Runs the main method of the given class with the arguments passed in argv
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

JavaWrapper

public JavaWrapper(java.lang.ClassLoader loader)

JavaWrapper

public JavaWrapper()
Method Detail

runMain

public void runMain(java.lang.String class_name,
                    java.lang.String[] argv)
             throws java.lang.ClassNotFoundException
Runs the main method of the given class with the arguments passed in argv
Parameters:
class_name - the fully qualified class name
argv - the arguments just as you would pass them directly

main

public static void main(java.lang.String[] argv)
                 throws java.lang.Exception
Default main method used as wrapper, expects the fully qualified class name of the real class as the first argument.