Package bsh
Class ClassGenerator
- java.lang.Object
-
- bsh.ClassGenerator
-
public final class ClassGenerator extends java.lang.Object
-
-
Constructor Summary
Constructors Constructor Description ClassGenerator()
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description java.lang.ClassgenerateClass(java.lang.String name, Modifiers modifiers, java.lang.Class[] interfaces, java.lang.Class superClass, bsh.BSHBlock block, boolean isInterface, CallStack callstack, Interpreter interpreter)Parse the BSHBlock for the class definition and generate the class.static java.lang.ClassgenerateClassImpl(java.lang.String name, Modifiers modifiers, java.lang.Class[] interfaces, java.lang.Class superClass, bsh.BSHBlock block, boolean isInterface, CallStack callstack, Interpreter interpreter)Parse the BSHBlock for for the class definition and generate the class using ClassGenerator.static ClassGeneratorgetClassGenerator()java.lang.ObjectinvokeSuperclassMethod(BshClassManager bcm, java.lang.Object instance, java.lang.String methodName, java.lang.Object[] args)Invoke a super.method() style superclass method on an object instance.static java.lang.ObjectinvokeSuperclassMethodImpl(BshClassManager bcm, java.lang.Object instance, java.lang.String methodName, java.lang.Object[] args)voidsetInstanceNameSpaceParent(java.lang.Object instance, java.lang.String className, NameSpace parent)Change the parent of the class instance namespace.
-
-
-
Method Detail
-
getClassGenerator
public static ClassGenerator getClassGenerator()
-
generateClass
public java.lang.Class generateClass(java.lang.String name, Modifiers modifiers, java.lang.Class[] interfaces, java.lang.Class superClass, bsh.BSHBlock block, boolean isInterface, CallStack callstack, Interpreter interpreter) throws EvalErrorParse the BSHBlock for the class definition and generate the class.- Throws:
EvalError
-
invokeSuperclassMethod
public java.lang.Object invokeSuperclassMethod(BshClassManager bcm, java.lang.Object instance, java.lang.String methodName, java.lang.Object[] args) throws UtilEvalError, bsh.ReflectError, java.lang.reflect.InvocationTargetException
Invoke a super.method() style superclass method on an object instance. This is not a normal function of the Java reflection API and is provided by generated class accessor methods.- Throws:
UtilEvalErrorbsh.ReflectErrorjava.lang.reflect.InvocationTargetException
-
setInstanceNameSpaceParent
public void setInstanceNameSpaceParent(java.lang.Object instance, java.lang.String className, NameSpace parent)Change the parent of the class instance namespace. This is currently used for inner class support. Note: This method will likely be removed in the future.
-
generateClassImpl
public static java.lang.Class generateClassImpl(java.lang.String name, Modifiers modifiers, java.lang.Class[] interfaces, java.lang.Class superClass, bsh.BSHBlock block, boolean isInterface, CallStack callstack, Interpreter interpreter) throws EvalErrorParse the BSHBlock for for the class definition and generate the class using ClassGenerator.- Throws:
EvalError
-
invokeSuperclassMethodImpl
public static java.lang.Object invokeSuperclassMethodImpl(BshClassManager bcm, java.lang.Object instance, java.lang.String methodName, java.lang.Object[] args) throws UtilEvalError, bsh.ReflectError, java.lang.reflect.InvocationTargetException
- Throws:
UtilEvalErrorbsh.ReflectErrorjava.lang.reflect.InvocationTargetException
-
-