org.apache.bcel.util

Class 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 org.apache.bcel.util.JavaWrapper <real.class.name> [arguments]

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

java org.apache.bcel.util.JavaWrapper -Dbcel.classloader=foo.MyLoader <real.class.name> [arguments]
Version:
$Id: JavaWrapper.java 386056 2006-03-15 11:31:56Z tcurdt $
Author:
M. Dahm
See Also:
ClassLoader

Field Summary

private java.lang.ClassLoader
loader

Constructor Summary

JavaWrapper()
JavaWrapper(java.lang.ClassLoader loader)

Method Summary

private static java.lang.ClassLoader
getClassLoader()
static void
main(String[] argv)
Default main method used as wrapper, expects the fully qualified class name of the real class as the first argument.
void
runMain(String class_name, String[] argv)
Runs the main method of the given class with the arguments passed in argv

Field Details

loader

private java.lang.ClassLoader loader

Constructor Details

JavaWrapper

public JavaWrapper()

JavaWrapper

public JavaWrapper(java.lang.ClassLoader loader)

Method Details

getClassLoader

private static java.lang.ClassLoader getClassLoader()

main

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

runMain

public void runMain(String class_name,
                    String[] argv)
            throws 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