public class ExtensionLoader<T> extends Object
扩展增加的方式:
支持 JDK ServiceProvider
支持 weibo:spi 配置
| 限定符和类型 | 方法和说明 |
|---|---|
void |
addExtensionClass(Class<T> clz) |
T |
getExtension(String name) |
Class<T> |
getExtensionClass(String name) |
static <T> ExtensionLoader<T> |
getExtensionLoader(Class<T> type) |
List<T> |
getExtensions(String key)
有些地方需要spi的所有激活的instances,所以需要能返回一个列表的方法 注意:1 SpiMeta 中的active 为true; 2
按照spiMeta中的sequence进行排序 FIXME: 是否需要对singleton来区分对待,后面再考虑 fishermen
|
String |
getSpiName(Class<?> clz)
获取扩展点的名字
如果扩展类有SpiMeta的注解,那么获取对应的name,如果没有的话获取classname
|
static <T> ExtensionLoader<T> |
initExtensionLoader(Class<T> type) |
public static <T> ExtensionLoader<T> getExtensionLoader(Class<T> type)
public static <T> ExtensionLoader<T> initExtensionLoader(Class<T> type)
public List<T> getExtensions(String key)
Copyright © 2017. All rights reserved.