public abstract class AbstractPluginLoader<T> extends Object
Modifier and Type | Field and Description |
---|---|
static org.slf4j.Logger |
log |
Constructor and Description |
---|
AbstractPluginLoader(String type) |
AbstractPluginLoader(String type,
boolean preRegister,
boolean requireName) |
Modifier and Type | Method and Description |
---|---|
protected T |
create(ResourceLoader loader,
String name,
String className,
Node node)
Create a plugin from an XML configuration.
|
protected String[] |
getDefaultPackages()
Where to look for classes
|
protected abstract void |
init(T plugin,
Node node)
Initialize the plugin.
|
T |
load(ResourceLoader loader,
NodeList nodes)
Given a NodeList from XML in the form:
|
T |
loadSingle(ResourceLoader loader,
Node node)
Given a NodeList from XML in the form:
|
protected abstract T |
register(String name,
T plugin)
Register a plugin with a given name.
|
public AbstractPluginLoader(String type, boolean preRegister, boolean requireName)
type
- is the 'type' name included in error messages.preRegister
- if true, this will first register all Plugins, then it will initialize them.public AbstractPluginLoader(String type)
protected String[] getDefaultPackages()
protected T create(ResourceLoader loader, String name, String className, Node node) throws Exception
name
- - The registered name. In the above example: "name1"className
- - class name for requested plugin. In the above example: "solr.ClassName"node
- - the XML node defining this pluginException
protected abstract T register(String name, T plugin) throws Exception
Exception
protected abstract void init(T plugin, Node node) throws Exception
plugin
- - the plugin to initializenode
- - the XML node defining this pluginException
public T load(ResourceLoader loader, NodeList nodes)
public T loadSingle(ResourceLoader loader, Node node)