public abstract class AbstractScriptFactory<T extends IScript> extends AbstractStaticScriptFactory<T>
| 限定符和类型 | 类和说明 |
|---|---|
protected class |
AbstractScriptFactory.ScriptRegister |
AbstractStaticScriptFactory.StaticScriptRegister| 限定符和类型 | 字段和说明 |
|---|---|
protected org.slf4j.Logger |
_log |
protected boolean |
autoReload
是否自动重载变更代码
|
protected net.jueb.util4j.hotSwap.classFactory.old.v0.AbstractScriptFactory.ScriptClassLoader |
classLoader |
protected String |
classRootDir |
protected Map<Integer,Class<? extends T>> |
codeMap |
protected long |
intervalMillis
文件监测间隔时间
|
protected boolean |
isLoading |
protected static ScheduledExecutorService |
schedule |
protected Map<String,net.jueb.util4j.hotSwap.classFactory.old.v0.AbstractScriptFactory.ClassFile> |
scriptFilePaths |
staticCodeMap| 限定符 | 构造器和说明 |
|---|---|
protected |
AbstractScriptFactory(String classRootDir) |
protected |
AbstractScriptFactory(String classRootDir,
boolean autoReload) |
| 限定符和类型 | 方法和说明 |
|---|---|
T |
buildInstance(int code)
创建一个脚本实例
|
T |
buildInstance(int code,
Object... args)
创建一个脚本实例
|
protected net.jueb.util4j.hotSwap.classFactory.old.v0.AbstractScriptFactory.ClassFile |
getClassFile(String className)
路径解析
|
protected String |
getClassRootDir()
获取class文件根目录
|
protected byte[] |
getFileBytes(net.jueb.util4j.hotSwap.classFactory.old.v0.AbstractScriptFactory.ClassFile classFile) |
protected Class<? extends T> |
getScriptClass(int code) |
protected abstract void |
initScriptRegist(AbstractScriptFactory.ScriptRegister reger)
初始化类注册
|
boolean |
isAutoReload() |
void |
loadAllClass() |
protected Class<?> |
loadClass(net.jueb.util4j.hotSwap.classFactory.old.v0.AbstractScriptFactory.ScriptClassLoader dc,
net.jueb.util4j.hotSwap.classFactory.old.v0.AbstractScriptFactory.ClassFile classFile) |
protected void |
registClass(Class<? extends T> scriptClass,
Class<?>... depends)
注册类
|
protected void |
registClass(String className,
String... depends)
根据类名注册类
|
void |
reload()
重新加载脚本
|
void |
setAutoReload(boolean autoReload) |
protected boolean |
validClassFilePath(String path)
验证路径是否正确
|
getStaticScriptClass, initStaticScriptRegist, newInstance, newInstance, registStaticScriptprotected final org.slf4j.Logger _log
protected boolean autoReload
protected final Map<String,net.jueb.util4j.hotSwap.classFactory.old.v0.AbstractScriptFactory.ClassFile> scriptFilePaths
protected boolean isLoading
protected long intervalMillis
protected static final ScheduledExecutorService schedule
protected net.jueb.util4j.hotSwap.classFactory.old.v0.AbstractScriptFactory.ScriptClassLoader classLoader
protected final String classRootDir
protected AbstractScriptFactory(String classRootDir)
protected AbstractScriptFactory(String classRootDir, boolean autoReload)
protected boolean validClassFilePath(String path)
path - protected final void registClass(String className, String... depends)
script - 脚本类depends - 依赖类protected final void registClass(Class<? extends T> scriptClass, Class<?>... depends)
script - 脚本类depends - 依赖类protected final String getClassRootDir()
protected final net.jueb.util4j.hotSwap.classFactory.old.v0.AbstractScriptFactory.ClassFile getClassFile(String className)
className - public final void loadAllClass()
protected final Class<?> loadClass(net.jueb.util4j.hotSwap.classFactory.old.v0.AbstractScriptFactory.ScriptClassLoader dc, net.jueb.util4j.hotSwap.classFactory.old.v0.AbstractScriptFactory.ClassFile classFile) throws IOException, ClassNotFoundException, InstantiationException, IllegalAccessException
dc - classFile - IOExceptionClassNotFoundExceptionInstantiationExceptionIllegalAccessExceptionprotected abstract void initScriptRegist(AbstractScriptFactory.ScriptRegister reger)
protected byte[] getFileBytes(net.jueb.util4j.hotSwap.classFactory.old.v0.AbstractScriptFactory.ClassFile classFile)
throws IOException
IOExceptionpublic boolean isAutoReload()
public void setAutoReload(boolean autoReload)
public final T buildInstance(int code)
IScriptFactorybuildInstance 在接口中 IScriptFactory<T extends IScript>buildInstance 在类中 AbstractStaticScriptFactory<T extends IScript>public T buildInstance(int code, Object... args)
IScriptFactorybuildInstance 在接口中 IScriptFactory<T extends IScript>buildInstance 在类中 AbstractStaticScriptFactory<T extends IScript>args - 脚本构造参数public final void reload()
IScriptFactoryreload 在接口中 IScriptFactory<T extends IScript>reload 在类中 AbstractStaticScriptFactory<T extends IScript>Copyright © 2020. All rights reserved.