|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectcom.alibaba.dubbo.common.extension.ExtensionLoader<T>
public class ExtensionLoader<T>
Dubbo使用的扩展点获取。
SPI
,
Adaptive
,
Activate
Method Summary | ||
---|---|---|
void |
addExtension(String name,
Class<?> clazz)
编程方式添加新扩展点。 |
|
List<T> |
getActivateExtension(URL url,
String key)
This is equivalent to |
|
List<T> |
getActivateExtension(URL url,
String[] values)
This is equivalent to |
|
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 |
|
T |
getAdaptiveExtension()
|
|
T |
getDefaultExtension()
返回缺省的扩展,如果没有设置则返回 null 。 |
|
String |
getDefaultExtensionName()
返回缺省的扩展点名,如果没有设置缺省则返回 null 。 |
|
T |
getExtension(String name)
返回指定名字的扩展。如果指定名字的扩展不存在,则抛异常 IllegalStateException . |
|
static
|
getExtensionLoader(Class<T> type)
|
|
String |
getExtensionName(Class<?> extensionClass)
|
|
String |
getExtensionName(T extensionInstance)
|
|
T |
getLoadedExtension(String name)
返回扩展点实例,如果没有指定的扩展点或是还没加载(即实例化)则返回 null 。注意:此方法不会触发扩展点的加载。
一般应该调用getExtension(String) 方法获得扩展,这个方法会触发扩展点加载。 |
|
Set<String> |
getLoadedExtensions()
返回已经加载的扩展点的名字。 一般应该调用 getSupportedExtensions() 方法获得扩展,这个方法会返回所有的扩展点。 |
|
Set<String> |
getSupportedExtensions()
|
|
boolean |
hasExtension(String name)
|
|
void |
replaceExtension(String name,
Class<?> clazz)
Deprecated. 不推荐应用使用,一般只在测试时可以使用 |
|
String |
toString()
|
Methods inherited from class java.lang.Object |
---|
equals, getClass, hashCode, notify, notifyAll, wait, wait, wait |
Method Detail |
---|
public static <T> ExtensionLoader<T> getExtensionLoader(Class<T> type)
public String getExtensionName(T extensionInstance)
public String getExtensionName(Class<?> extensionClass)
public List<T> getActivateExtension(URL url, String key)
getActivateExtension(url, key, null);
url
- urlkey
- url parameter key which used to get extension point names
getActivateExtension(com.alibaba.dubbo.common.URL, String, String)
public List<T> getActivateExtension(URL url, String[] values)
getActivateExtension(url, values, null);
url
- urlvalues
- extension point names
getActivateExtension(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
- group
getActivateExtension(com.alibaba.dubbo.common.URL, String[], String)
public List<T> getActivateExtension(URL url, String[] values, String group)
url
- urlvalues
- extension point namesgroup
- group
Activate
public 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 Set<String> getSupportedExtensions()
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()
public String toString()
toString
in class Object
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |