public class ExtensionLoader<T> extends Object
SPI,
Adaptive,
Activate| 限定符和类型 | 方法和说明 |
|---|---|
void |
addExtension(String name,
Class<?> clazz)
编程方式添加新扩展点。
|
List<T> |
getActivateExtension(URL url,
String key)
This is equivalent to
getActivateExtension(url, key, null);
|
List<T> |
getActivateExtension(URL url,
String[] values)
This is equivalent to
getActivateExtension(url, values, null);
|
List<T> |
getActivateExtension(URL url,
String[] values,
String group)
Get activate extensions.
|
List<T> |
getActivateExtension(URL url,
String key,
String group)
This is equivalent to
getActivateExtension(url, url.getParameter(key).split(","), null);
|
T |
getAdaptiveExtension() |
T |
getDefaultExtension()
返回缺省的扩展,如果没有设置则返回
null。 |
String |
getDefaultExtensionName()
返回缺省的扩展点名,如果没有设置缺省则返回
null。 |
T |
getExtension(String name)
返回指定名字的扩展。
|
static <T> ExtensionLoader<T> |
getExtensionLoader(Class<T> type) |
String |
getExtensionName(Class<?> extensionClass) |
String |
getExtensionName(T extensionInstance) |
T |
getLoadedExtension(String name)
返回扩展点实例,如果没有指定的扩展点或是还没加载(即实例化)则返回
null。 |
Set<String> |
getLoadedExtensions()
返回已经加载的扩展点的名字。
|
Set<String> |
getSupportedExtensions() |
boolean |
hasExtension(String name) |
void |
replaceExtension(String name,
Class<?> clazz)
已过时。
不推荐应用使用,一般只在测试时可以使用
|
String |
toString() |
public static <T> ExtensionLoader<T> getExtensionLoader(Class<T> type)
public List<T> getActivateExtension(URL url, String key)
getActivateExtension(url, key, null);
url - urlkey - url parameter key which used to get extension point namesgetActivateExtension(com.alibaba.dubbo.common.URL, String, String)public List<T> getActivateExtension(URL url, String[] values)
getActivateExtension(url, values, null);
url - urlvalues - extension point namesgetActivateExtension(com.alibaba.dubbo.common.URL, String[], String)public List<T> getActivateExtension(URL url, String key, String group)
getActivateExtension(url, url.getParameter(key).split(","), null);
url - urlkey - url parameter key which used to get extension point namesgroup - groupgetActivateExtension(com.alibaba.dubbo.common.URL, String[], String)public List<T> getActivateExtension(URL url, String[] values, String group)
url - urlvalues - extension point namesgroup - groupActivatepublic T getLoadedExtension(String name)
null。注意:此方法不会触发扩展点的加载。
一般应该调用getExtension(String)方法获得扩展,这个方法会触发扩展点加载。getExtension(String)public Set<String> getLoadedExtensions()
getSupportedExtensions()方法获得扩展,这个方法会返回所有的扩展点。getSupportedExtensions()public T getExtension(String name)
IllegalStateException.name - public T getDefaultExtension()
null。public boolean hasExtension(String name)
public String getDefaultExtensionName()
null。public void addExtension(String name, Class<?> clazz)
name - 扩展点名clazz - 扩展点类IllegalStateException - 要添加扩展点名已经存在。@Deprecated public void replaceExtension(String name, Class<?> clazz)
name - 扩展点名clazz - 扩展点类IllegalStateException - 要添加扩展点名已经存在。public T getAdaptiveExtension()
Copyright © 2012–2017 Alibaba. All rights reserved.