public class DynamicFunction extends Object
Modifier and Type | Field and Description |
---|---|
FunctionInterface |
objectForCall |
Constructor and Description |
---|
DynamicFunction(File file,
String charset)
构造函数
|
DynamicFunction(String name,
String code)
构造函数
|
Modifier and Type | Method and Description |
---|---|
void |
addImport(Class clazz)
增加预置到处类
|
void |
addImportFunction(String name)
增加一个导入函数
|
void |
addPrepareArg(int argIndex,
Class argClazz,
String argName)
增加一个调用参数
|
<T> T |
call(Object... args)
执行动态函数
|
void |
clearImportFunctions()
清空导入函数集合
|
void |
compileCode()
编译用户代码
|
void |
enableImportInCode(boolean enableImportInCode)
设置是否支持代码中 import
|
String |
getClassName()
得到实际编译的类名称
|
Class |
getClazz()
获得编译后的 Class 对象
|
String |
getCode()
获取用户代码
|
List<String> |
getImportFunctionx()
获取导入函数集合
|
String |
getName()
获得命名的名称
用于标定这个动态编译的函数
|
String |
getPackageName()
获取包名
默认:org.voovan.tools.compiler.temporary
|
boolean |
isEnableImportInCode()
获取是否支持代码中的 import
|
void |
removeImport(Class clazz)
移除预置导入类
|
void |
removePrepareArg(int argIndex)
移除一个调用参数
|
void |
setCode(String code)
设置脚本代码
|
void |
setName(String name)
设置命名的名称
|
void |
setPackageName(String packageName)
设置包名
默认:org.voovan.tools.compiler.temporary
|
public FunctionInterface objectForCall
public DynamicFunction(String name, String code)
name
- 命名的名称code
- 用户代码public DynamicFunction(File file, String charset) throws UnsupportedEncodingException
file
- 用户代码路径charset
- 用户代码编码UnsupportedEncodingException
- 字符集异常public String getPackageName()
public void setPackageName(String packageName)
packageName
- 包名public String getName()
public void setName(String name)
name
- 命名的名称public boolean isEnableImportInCode()
public void enableImportInCode(boolean enableImportInCode)
enableImportInCode
- true:支持代码中的 import, false:不支持代码中的 importpublic String getCode()
public void setCode(String code)
code
- 脚本代码public String getClassName()
public Class getClazz()
public void addPrepareArg(int argIndex, Class argClazz, String argName)
argIndex
- 调用参数的索引argClazz
- 调用参数的类argName
- 调用参数的名称public void removePrepareArg(int argIndex)
argIndex
- 调用参数的索引public void addImport(Class clazz)
clazz
- 导入类对象public void removeImport(Class clazz)
clazz
- 导入类对象public void addImportFunction(String name)
name
- 动态函数名称public void clearImportFunctions()
public void compileCode() throws ReflectiveOperationException
ReflectiveOperationException
- 反射异常Copyright © 2020 Voovan. All rights reserved.