public class ClassBodyEvaluator extends Cookable implements IClassBodyEvaluator
DEFAULT_CLASS_NAME| Constructor and Description |
|---|
ClassBodyEvaluator() |
ClassBodyEvaluator(Scanner scanner,
Class<?> extendedType,
Class<?>[] implementedTypes,
ClassLoader parentClassLoader)
Equivalent to
ClassBodyEvaluator cbe = new ClassBodyEvaluator();
cbe.setExtendedType(extendedType);
cbe.setImplementedTypes(implementedTypes);
cbe.setParentClassLoader(parentClassLoader);
cbe.cook(scanner);
|
ClassBodyEvaluator(Scanner scanner,
ClassLoader parentClassLoader)
Equivalent to
ClassBodyEvaluator cbe = new ClassBodyEvaluator();
cbe.setParentClassLoader(parentClassLoader);
cbe.cook(scanner);
|
ClassBodyEvaluator(Scanner scanner,
String className,
Class<?> extendedType,
Class<?>[] implementedTypes,
ClassLoader parentClassLoader)
Equivalent to
ClassBodyEvaluator cbe = new ClassBodyEvaluator();
cbe.setClassName(className);
cbe.setExtendedType(extendedType);
cbe.setImplementedTypes(implementedTypes);
cbe.setParentClassLoader(parentClassLoader);
cbe.cook(scanner);
|
ClassBodyEvaluator(String classBody)
Equivalent to
ClassBodyEvaluator cbe = new ClassBodyEvaluator();
cbe.cook(classBody);
|
ClassBodyEvaluator(String fileName,
InputStream is)
Equivalent to
ClassBodyEvaluator cbe = new ClassBodyEvaluator();
cbe.cook(fileName, is);
|
ClassBodyEvaluator(String fileName,
Reader reader)
Equivalent to
ClassBodyEvaluator cbe = new ClassBodyEvaluator();
cbe.cook(fileName, reader);
|
| Modifier and Type | Method and Description |
|---|---|
protected Java.PackageMemberClassDeclaration |
addPackageMemberClassDeclaration(Location location,
Java.CompilationUnit compilationUnit)
To the given
Java.CompilationUnit, add
A class declaration with the configured name, superclass and interfaces
A method declaration with the given return type, name, parameter names and values and thrown exceptions
|
Java.Type[] |
classesToTypes(Location location,
Class<?>[] classes) |
protected Java.Type |
classToType(Location location,
Class<?> clazz) |
void |
cook(Scanner scanner) |
void |
cook(String fileName,
Reader r) |
static Object |
createFastClassBodyEvaluator(Scanner scanner,
Class<?> baseType,
ClassLoader parentClassLoader)
Use
createInstance(Reader) instead:
IClassBodyEvaluator cbe = CompilerFactoryFactory. |
static Object |
createFastClassBodyEvaluator(Scanner scanner,
String className,
Class<?> extendedClass,
Class<?>[] implementedInterfaces,
ClassLoader parentClassLoader)
Deprecated.
Use
createInstance(Reader) instead |
Object |
createInstance(Reader reader) |
Map<String,byte[]> |
getBytecodes() |
Class<?> |
getClazz() |
String[] |
getDefaultImports() |
protected Java.Type |
optionalClassToType(Location location,
Class<?> clazz) |
EnumSet<JaninoOption> |
options() |
ClassBodyEvaluator |
options(EnumSet<JaninoOption> options)
Sets the options for all future compilations.
|
void |
setClassName(String className) |
void |
setCompileErrorHandler(ErrorHandler compileErrorHandler) |
void |
setDebuggingInformation(boolean debugSource,
boolean debugLines,
boolean debugVars) |
void |
setDefaultImports(String... defaultImports) |
void |
setExtendedClass(Class<?> extendedType) |
void |
setExtendedType(Class<?> extendedClass) |
void |
setImplementedInterfaces(Class<?>[] implementedTypes) |
void |
setImplementedTypes(Class<?>[] implementedInterfaces) |
void |
setParentClassLoader(ClassLoader parentClassLoader) |
void |
setWarningHandler(WarningHandler warningHandler) |
cook, cook, cook, cook, cook, cook, cook, cookFile, cookFile, cookFile, cookFilepublic ClassBodyEvaluator(String classBody) throws CompileException
ClassBodyEvaluator cbe = new ClassBodyEvaluator();
cbe.cook(classBody);
CompileExceptionClassBodyEvaluator(),
Cookable.cook(String)public ClassBodyEvaluator(@Nullable String fileName, InputStream is) throws CompileException, IOException
ClassBodyEvaluator cbe = new ClassBodyEvaluator();
cbe.cook(fileName, is);
CompileExceptionIOExceptionClassBodyEvaluator(),
Cookable.cook(String, InputStream)public ClassBodyEvaluator(@Nullable String fileName, Reader reader) throws CompileException, IOException
ClassBodyEvaluator cbe = new ClassBodyEvaluator();
cbe.cook(fileName, reader);
CompileExceptionIOExceptionClassBodyEvaluator(),
Cookable.cook(String, Reader)public ClassBodyEvaluator(Scanner scanner, @Nullable ClassLoader parentClassLoader) throws CompileException, IOException
ClassBodyEvaluator cbe = new ClassBodyEvaluator();
cbe.setParentClassLoader(parentClassLoader);
cbe.cook(scanner);
public ClassBodyEvaluator(Scanner scanner, @Nullable Class<?> extendedType, Class<?>[] implementedTypes, @Nullable ClassLoader parentClassLoader) throws CompileException, IOException
ClassBodyEvaluator cbe = new ClassBodyEvaluator();
cbe.setExtendedType(extendedType);
cbe.setImplementedTypes(implementedTypes);
cbe.setParentClassLoader(parentClassLoader);
cbe.cook(scanner);
public ClassBodyEvaluator(Scanner scanner, String className, @Nullable Class<?> extendedType, Class<?>[] implementedTypes, @Nullable ClassLoader parentClassLoader) throws CompileException, IOException
ClassBodyEvaluator cbe = new ClassBodyEvaluator();
cbe.setClassName(className);
cbe.setExtendedType(extendedType);
cbe.setImplementedTypes(implementedTypes);
cbe.setParentClassLoader(parentClassLoader);
cbe.cook(scanner);
public ClassBodyEvaluator()
public void setDefaultImports(String... defaultImports)
setDefaultImports in interface IClassBodyEvaluatorpublic String[] getDefaultImports()
getDefaultImports in interface IClassBodyEvaluatorpublic void setClassName(String className)
setClassName in interface IClassBodyEvaluatorpublic void setExtendedClass(@Nullable Class<?> extendedType)
setExtendedClass in interface IClassBodyEvaluatorpublic void setExtendedType(@Nullable Class<?> extendedClass)
setExtendedType in interface IClassBodyEvaluatorpublic void setImplementedInterfaces(Class<?>[] implementedTypes)
setImplementedInterfaces in interface IClassBodyEvaluatorpublic void setImplementedTypes(Class<?>[] implementedInterfaces)
setImplementedTypes in interface IClassBodyEvaluatorpublic void setParentClassLoader(@Nullable ClassLoader parentClassLoader)
setParentClassLoader in interface IClassBodyEvaluatorpublic void setDebuggingInformation(boolean debugSource,
boolean debugLines,
boolean debugVars)
setDebuggingInformation in interface IClassBodyEvaluatorpublic void setCompileErrorHandler(@Nullable ErrorHandler compileErrorHandler)
setCompileErrorHandler in interface IClassBodyEvaluatorpublic void setWarningHandler(@Nullable WarningHandler warningHandler)
setWarningHandler in interface IClassBodyEvaluatorpublic EnumSet<JaninoOption> options()
public ClassBodyEvaluator options(EnumSet<JaninoOption> options)
public final void cook(@Nullable String fileName, Reader r) throws CompileException, IOException
cook in interface ICookablecook in class CookableCompileExceptionIOExceptionpublic void cook(Scanner scanner) throws CompileException, IOException
CompileExceptionIOExceptionpublic Class<?> getClazz()
getClazz in interface IClassBodyEvaluatorpublic Map<String,byte[]> getBytecodes()
getBytecodes in interface ICookableprotected Java.PackageMemberClassDeclaration addPackageMemberClassDeclaration(Location location, Java.CompilationUnit compilationUnit)
Java.CompilationUnit, add
Java.AbstractClassDeclaration object@Nullable protected Java.Type optionalClassToType(Location location, @Nullable Class<?> clazz)
public Object createInstance(Reader reader) throws CompileException, IOException
createInstance in interface IClassBodyEvaluatorCompileExceptionIOExceptionpublic static Object createFastClassBodyEvaluator(Scanner scanner, @Nullable Class<?> baseType, @Nullable ClassLoader parentClassLoader) throws CompileException, IOException
createInstance(Reader) instead:
IClassBodyEvaluator cbe = CompilerFactoryFactory.getDefaultCompilerFactory().newClassBodyEvaluator();
if (baseType != null) {
if (baseType.isInterface()) {
cbe.setImplementedInterfaces(new Class[] { baseType });
} else {
cbe.setExtendedClass(baseType);
}
}
cbe.setParentClassLoader(parentClassLoader);
cbe.createInstance(reader);
CompileExceptionIOExceptioncreateInstance(Reader)@Deprecated public static Object createFastClassBodyEvaluator(Scanner scanner, String className, @Nullable Class<?> extendedClass, Class<?>[] implementedInterfaces, @Nullable ClassLoader parentClassLoader) throws CompileException, IOException
createInstance(Reader) insteadcreateInstance(Reader) instead:
IClassBodyEvaluator cbe = CompilerFactoryFactory.getDefaultCompilerFactory().newClassBodyEvaluator();
cbe.setExtendedClass(extendedClass);
cbe.setImplementedInterfaces(implementedInterfaces);
cbe.setParentClassLoader(parentClassLoader);
cbe.createInstance(reader);
CompileExceptionIOExceptioncreateInstance(Reader)Copyright © 2020. All rights reserved.