public class DefaultPluginFactory extends Object implements IPluginFactory
Modifier | Constructor and Description |
---|---|
protected |
DefaultPluginFactory(IPluginConfig pluginConfig,
boolean includedClassPath)
构造器(仅限内部或自定义子类使用)
|
protected DefaultPluginFactory(IPluginConfig pluginConfig, boolean includedClassPath)
pluginConfig
- 指定的插件工厂初始化配置includedClassPath
- 是否扫描当前CLASSPATH内的相关插件public static DefaultPluginFactory create(IApplication owner, String pluginHome, String[] packageNames) throws Exception
owner
- 指定所属容器参数对象pluginHome
- 插件根路径packageNames
- 自动扫描包路径Exception
- 创建插件工厂时可能产生的异常public static IPluginFactory create(IApplication owner, Class<? extends IPluginFactory> clazz) throws Exception
owner
- 指定所属容器参数对象clazz
- 指定的插件工厂类型Exception
- 创建插件工厂时可能产生的异常public static IPluginFactory create(IApplication owner, Class<? extends IPluginFactory> clazz, IPluginConfig pluginConfig) throws Exception
owner
- 指定所属容器参数对象clazz
- 指定的插件工厂类型pluginConfig
- 指定的插件工厂初始化配置Exception
- 创建插件工厂时可能产生的异常public static IPluginFactory create(IModuleConfigurer moduleConfigurer)
public static IPluginFactory create(Class<?> mainClass, IModuleConfigurer moduleConfigurer)
public void initialize(IApplication owner) throws Exception
IInitialization
initialize
in interface IInitialization<IApplication>
owner
- 指定所属容器参数对象Exception
- 初始过程中产生的任何异常public void startup() throws Exception
IPluginFactory
startup
in interface IPluginFactory
Exception
- 可能产生的任何异常public boolean isInitialized()
IInitialization
isInitialized
in interface IInitialization<IApplication>
public void close() throws Exception
close
in interface AutoCloseable
Exception
public IApplication getOwner()
IPluginFactory
getOwner
in interface IPluginFactory
public IPluginConfig getPluginConfig()
IPluginFactory
getPluginConfig
in interface IPluginFactory
public IBeanLoader getBeanLoader()
IPluginFactory
getBeanLoader
in interface IPluginFactory
public PluginMeta getPluginMeta(String idOrAlias)
IPluginFactory
getPluginMeta
in interface IPluginFactory
idOrAlias
- 插件唯一标识或别名public Collection<PluginMeta> getPluginMetas()
IPluginFactory
getPluginMetas
in interface IPluginFactory
public IPlugin getPlugin(String idOrAlias)
IPluginFactory
getPlugin
in interface IPluginFactory
idOrAlias
- 插件唯一标识或别名public <T> T getPlugin(Class<T> clazz)
IPluginFactory
getPlugin
in interface IPluginFactory
T
- 插件接口类型clazz
- 插件接口类public boolean isIncludedClassPath()
IPluginFactory
isIncludedClassPath
in interface IPluginFactory
Copyright © 2022. All rights reserved.