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