public class LightExtLoader<T> extends Object
LightExt保留了ExtensionLoader中基于SPI的扩展,让SPI可以通过扩展实现的名字来直接获取扩展实例。
| 限定符和类型 | 方法和说明 |
|---|---|
T |
getDefaultExtension()
返回默认的扩展点实例,通过
Default来配置。 |
String |
getDefaultName()
返回缺省的扩展点名。
|
<S extends T> |
getExtension(String name)
返回指定名字的扩展。
|
static <T> LightExtLoader<T> |
getExtensionLoader(Class<T> type) |
Set<String> |
getLoadedExtensions()
返回已经加载的扩展点的名字。
|
Set<String> |
getSupportedExtensions() |
boolean |
hasExtension(String name)
判断某个名字的扩展是否存在
|
String |
toString() |
public static <T> LightExtLoader<T> getExtensionLoader(Class<T> type)
public String getDefaultName()
public Set<String> getLoadedExtensions()
一般应该调用getSupportedExtensions()方法获得扩展,这个方法会返回所有的扩展点。
getSupportedExtensions()public <S extends T> S getExtension(String name)
name - ClassCastException - 如果泛型参数的类型S和实际的扩展类不匹配,则抛异常IllegalStateException - 如果指定名字的扩展不存在,则抛异常public boolean hasExtension(String name)
name - Copyright © 2016. All rights reserved.