bsh
Class ClassGenerator

java.lang.Object
  extended by bsh.ClassGenerator

public final class ClassGenerator
extends java.lang.Object


Constructor Summary
ClassGenerator()
           
 
Method Summary
 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)
          Parse the BSHBlock for the class definition and generate the class.
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)
          Parse the BSHBlock for for the class definition and generate the class using ClassGenerator.
static ClassGenerator getClassGenerator()
           
 java.lang.Object invokeSuperclassMethod(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.Object invokeSuperclassMethodImpl(BshClassManager bcm, java.lang.Object instance, java.lang.String methodName, java.lang.Object[] args)
           
 void setInstanceNameSpaceParent(java.lang.Object instance, java.lang.String className, NameSpace parent)
          Change the parent of the class instance namespace.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

ClassGenerator

public ClassGenerator()
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 EvalError
Parse 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:
UtilEvalError
bsh.ReflectError
java.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 EvalError
Parse 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:
UtilEvalError
bsh.ReflectError
java.lang.reflect.InvocationTargetException


? 2000-2005 pat@pat.net :-)