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)
Deprecated.
Use
createInstance(Reader) instead |
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 |
setSourceVersion(int version) |
void |
setTargetVersion(int version) |
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 setSourceVersion(int version)
setSourceVersion in interface ICookablepublic void setTargetVersion(int version)
setTargetVersion in interface ICookablepublic 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 IClassBodyEvaluatorCompileExceptionIOException@Deprecated public static Object createFastClassBodyEvaluator(Scanner scanner, @Nullable Class<?> baseType, @Nullable ClassLoader parentClassLoader) throws CompileException, IOException
createInstance(Reader) insteadcreateInstance(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);
CompileExceptionIOException@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 © 2022. All rights reserved.