public abstract class AnnationScriptClassProvider<S extends IAnnotationScript> extends Object implements IAnnationScriptFactory<S>
| 限定符和类型 | 字段和说明 |
|---|---|
protected org.slf4j.Logger |
_log |
protected boolean |
autoReload
是否自动重载变更代码
|
protected IClassProvider |
classProvider
脚本库目录
|
| 限定符 | 构造器和说明 |
|---|---|
protected |
AnnationScriptClassProvider(IClassProvider classProvider) |
| 限定符和类型 | 方法和说明 |
|---|---|
S |
buildInstance(int id)
创建一个脚本实例
|
S |
buildInstance(int id,
Object... args)
创建一个脚本实例
|
S |
buildInstance(String name)
创建一个脚本实例
|
S |
buildInstance(String name,
Object... args)
创建一个脚本实例
|
protected <C> C |
getInstacne(Class<C> clazz) |
protected Class<? extends S> |
getScriptClass(int id) |
protected Class<? extends S> |
getScriptClass(String name) |
IClassProvider.State |
getState() |
protected boolean |
isAbstractOrInterface(Class<?> clazz) |
boolean |
isAutoReload() |
protected void |
load()
加载
|
protected S |
newInstance(Class<? extends S> c) |
protected S |
newInstance(Class<? extends S> c,
Object... args) |
protected void |
onScriptLoaded(Set<Class<?>> loadedClasses)
当脚本加载完成后调用此方法,子类可继续过滤查找其它类
|
protected void |
registScript(Class<? extends S> clazz,
Map<String,Class<? extends S>> nameMap_,
Map<Integer,Class<? extends S>> idMap_) |
void |
reload()
重新加载脚本
|
void |
setAutoReload(boolean autoReload) |
protected boolean |
skipRegistScript(S script)
是否跳过此脚本类的注册
|
protected final org.slf4j.Logger _log
protected final IClassProvider classProvider
protected volatile boolean autoReload
protected AnnationScriptClassProvider(IClassProvider classProvider)
protected void registScript(Class<? extends S> clazz, Map<String,Class<? extends S>> nameMap_, Map<Integer,Class<? extends S>> idMap_)
protected final boolean isAbstractOrInterface(Class<?> clazz)
protected final <C> C getInstacne(Class<C> clazz)
protected boolean skipRegistScript(S script)
script - protected void onScriptLoaded(Set<Class<?>> loadedClasses) throws Exception
classes - Exceptionpublic final IClassProvider.State getState()
public S buildInstance(int id)
IAnnationScriptFactorybuildInstance 在接口中 IAnnationScriptFactory<S extends IAnnotationScript>public S buildInstance(int id, Object... args)
IAnnationScriptFactorybuildInstance 在接口中 IAnnationScriptFactory<S extends IAnnotationScript>args - 脚本构造参数public S buildInstance(String name)
IAnnationScriptFactorybuildInstance 在接口中 IAnnationScriptFactory<S extends IAnnotationScript>public S buildInstance(String name, Object... args)
IAnnationScriptFactorybuildInstance 在接口中 IAnnationScriptFactory<S extends IAnnotationScript>args - 脚本构造参数public final void reload()
IAnnationScriptFactoryreload 在接口中 IAnnationScriptFactory<S extends IAnnotationScript>public boolean isAutoReload()
public void setAutoReload(boolean autoReload)
Copyright © 2020. All rights reserved.