类 SaTokenPluginHolder
java.lang.Object
cn.dev33.satoken.plugin.SaTokenPluginHolder
Sa-Token 插件管理器,管理所有插件的加载与卸载
- 从以下版本开始:
- 1.41.0
- 作者:
- click33
-
字段概要
字段 -
构造器概要
构造器 -
方法概要
修饰符和类型方法说明protected <T extends SaTokenPlugin>
int_consumeHooks(List<SaTokenPluginHookModel<? extends SaTokenPlugin>> hooks, Class<T> pluginClass) 消费指定集合的钩子函数,返回消费的数量protected <T> List<T>_loaderPluginsBySpi(Class<T> serviceInterface, String dirName) 自定义 SPI 读取策略 (无状态函数)destroyPlugin(SaTokenPlugin plugin) 卸载指定插件<T extends SaTokenPlugin>
SaTokenPluginHolderdestroyPlugin(Class<T> pluginClass) 卸载指定插件,根据插件类型<T extends SaTokenPlugin>
T获取指定类型的插件获取插件集合副本 (拷贝插件集合,而非每个插件实例)voidinit()初始化加载所有插件(多次调用只会执行一次)installPlugin(SaTokenPlugin plugin) 安装指定插件<T extends SaTokenPlugin>
SaTokenPluginHolderinstallPlugin(Class<T> pluginClass) 安装指定插件,根据插件类型<T extends SaTokenPlugin>
booleanisInstalledPlugin(Class<T> pluginClass) 判断是否已经安装了指定插件void根据 SPI 机制加载所有插件<T extends SaTokenPlugin>
SaTokenPluginHolderonAfterDestroy(Class<T> listenerClass, SaTokenPluginHookFunction<T> executeFunction) 注册指定插件的 [ Destroy 后置钩子 ],同插件支持多次注册<T extends SaTokenPlugin>
SaTokenPluginHolderonAfterInstall(Class<T> listenerClass, SaTokenPluginHookFunction<T> executeFunction) 注册指定插件的 [ Install 后置钩子 ],1、同插件支持多次注册。<T extends SaTokenPlugin>
SaTokenPluginHolderonBeforeDestroy(Class<T> listenerClass, SaTokenPluginHookFunction<T> executeFunction) 注册指定插件的 [ Destroy 前置钩子 ],同插件支持多次注册<T extends SaTokenPlugin>
SaTokenPluginHolderonBeforeInstall(Class<T> listenerClass, SaTokenPluginHookFunction<T> executeFunction) 注册指定插件的 [ Install 前置钩子 ],1、同插件支持多次注册。<T extends SaTokenPlugin>
SaTokenPluginHolderonDestroy(Class<T> listenerClass, SaTokenPluginHookFunction<T> executeFunction) 注册指定插件的 [ Destroy 钩子 ],1、同插件支持多次注册。<T extends SaTokenPlugin>
SaTokenPluginHolderonInstall(Class<T> listenerClass, SaTokenPluginHookFunction<T> executeFunction) 注册指定插件的 [ Install 钩子 ],1、同插件支持多次注册。
-
字段详细资料
-
instance
默认实例,非单例模式,可替换 -
isLoader
public boolean isLoader是否已经加载过插件 -
spiDir
SPI 文件所在目录名称
-
-
构造器详细资料
-
SaTokenPluginHolder
public SaTokenPluginHolder()
-
-
方法详细资料
-
init
public void init()初始化加载所有插件(多次调用只会执行一次) -
loaderPlugins
public void loaderPlugins()根据 SPI 机制加载所有插件加载所有 jar 下 /META-INF/satoken/ 目录下 cn.dev33.satoken.plugin.SaTokenPlugin 文件指定的实现类
-
_loaderPluginsBySpi
自定义 SPI 读取策略 (无状态函数)- 类型参数:
T- /- 参数:
serviceInterface- SPI 接口dirName- 目录名称- 返回:
- /
-
getPluginListCopy
获取插件集合副本 (拷贝插件集合,而非每个插件实例)- 返回:
- /
-
isInstalledPlugin
判断是否已经安装了指定插件- 参数:
pluginClass- 插件类型- 返回:
- /
-
getPlugin
获取指定类型的插件- 类型参数:
T- /- 参数:
pluginClass- /- 返回:
- /
-
_consumeHooks
protected <T extends SaTokenPlugin> int _consumeHooks(List<SaTokenPluginHookModel<? extends SaTokenPlugin>> hooks, Class<T> pluginClass) 消费指定集合的钩子函数,返回消费的数量- 类型参数:
T- /- 参数:
pluginClass- /hooks- /
-
installPlugin
安装指定插件- 参数:
plugin- /
-
installPlugin
安装指定插件,根据插件类型- 参数:
pluginClass- /
-
destroyPlugin
卸载指定插件- 参数:
plugin- /
-
destroyPlugin
卸载指定插件,根据插件类型- 参数:
pluginClass- /
-
onInstall
public <T extends SaTokenPlugin> SaTokenPluginHolder onInstall(Class<T> listenerClass, SaTokenPluginHookFunction<T> executeFunction) 注册指定插件的 [ Install 钩子 ],1、同插件支持多次注册。2、如果插件已经安装完毕,则抛出异常。3、注册 Install 钩子的插件默认安装行为将不再执行- 类型参数:
T- /- 参数:
listenerClass- /executeFunction- /
-
onBeforeInstall
public <T extends SaTokenPlugin> SaTokenPluginHolder onBeforeInstall(Class<T> listenerClass, SaTokenPluginHookFunction<T> executeFunction) 注册指定插件的 [ Install 前置钩子 ],1、同插件支持多次注册。2、如果插件已经安装完毕,则抛出异常- 类型参数:
T- /- 参数:
listenerClass- /executeFunction- /
-
onAfterInstall
public <T extends SaTokenPlugin> SaTokenPluginHolder onAfterInstall(Class<T> listenerClass, SaTokenPluginHookFunction<T> executeFunction) 注册指定插件的 [ Install 后置钩子 ],1、同插件支持多次注册。2、如果插件已经安装完毕,则立即执行该钩子函数- 类型参数:
T- /- 参数:
listenerClass- /executeFunction- /
-
onDestroy
public <T extends SaTokenPlugin> SaTokenPluginHolder onDestroy(Class<T> listenerClass, SaTokenPluginHookFunction<T> executeFunction) 注册指定插件的 [ Destroy 钩子 ],1、同插件支持多次注册。2、注册 Destroy 钩子的插件默认卸载行为将不再执行- 类型参数:
T- /- 参数:
listenerClass- /executeFunction- /
-
onBeforeDestroy
public <T extends SaTokenPlugin> SaTokenPluginHolder onBeforeDestroy(Class<T> listenerClass, SaTokenPluginHookFunction<T> executeFunction) 注册指定插件的 [ Destroy 前置钩子 ],同插件支持多次注册- 类型参数:
T- /- 参数:
listenerClass- /executeFunction- /
-
onAfterDestroy
public <T extends SaTokenPlugin> SaTokenPluginHolder onAfterDestroy(Class<T> listenerClass, SaTokenPluginHookFunction<T> executeFunction) 注册指定插件的 [ Destroy 后置钩子 ],同插件支持多次注册- 类型参数:
T- /- 参数:
listenerClass- /executeFunction- /
-