五、动态函数、类管理器
4. 动态函数、类管理器
类: org.voovan.tools.compiler.DynamicCompilerManager
3.1 动态函数管理方法说明
3.1.1 增加一个动态函数
public static DynamicFunction addFunction(File file, String charSet)
public static DynamicFunction addFunction(File file)
public static DynamicFunction addFunction(String name, String code)
public static DynamicFunction addFunction(DynamicFunction dynamicFunction)
file
: 文件对象charSet
: 字符集。name
: 动态函数名称。code
: 动态函数代码。dynamicFunction
: 动态函数对象。
3.1.2 获取/移除动态函数
public static DynamicFunction getFunctions(String name)
public static void removeFunctions(String name)
public static Map<String, DynamicFunction> getFunctions()
- 默认使用文件名作为命名
name
: 动态函数名称。返回值
: 动态函数对象。
3.1.3 调用动态函数
public static Object callFunction(String name, Object ... args)
- 设置/获取动态函数编译的类的包名,默认:
org.voovan.tools.compiler.temporary
name
: 动态函数名称。args
: 动态函数调用的参数。返回值
: 函数返回值。
3.2 动态类管理方法说明
3.2.1 增加一个类
public static DynamicClass addClazz(File file, String charSet)
public static DynamicClass addClazz(File file)
public static DynamicClass addClazz(String name, String code)
public static DynamicClass addClazz(DynamicClass dynamicClass)
file
: 文件对象charSet
: 字符集。name
: 动态函数名称。code
: 动态函数代码。dynamicFunction
: 动态函数对象。
3.1.2 获取/移除动态类
public static DynamicClass getClazz(String name)
public static void removeClazz(String name)
public static Map<String, DynamicClass> getClazzs()
- 默认使用文件名作为命名
name
: 动态类名称。返回值
: 动态类对象。
3.1.3 创建一个动态类的实例
public static <T> T newInstance(String name, Object ... args)
name
: 动态类名称。args
: 动态类构造方法的参数。返回值
: 动态类的实例化对象。