|
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||
java.lang.Objectorg.apache.solr.util.plugin.AbstractPluginLoader<T>
public abstract class AbstractPluginLoader<T>
An abstract super class that manages standard solr-style plugin configuration.
| Field Summary | |
|---|---|
static org.slf4j.Logger |
log
|
| Constructor Summary | |
|---|---|
AbstractPluginLoader(String type,
Class<T> pluginClassType)
|
|
AbstractPluginLoader(String type,
Class<T> pluginClassType,
boolean preRegister,
boolean requireName)
|
|
| Method Summary | |
|---|---|
protected T |
create(SolrResourceLoader 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(SolrResourceLoader loader,
NodeList nodes)
Initializes and registers each plugin in the list. |
T |
loadSingle(SolrResourceLoader loader,
Node node)
Initializes and registers a single plugin. |
protected abstract T |
register(String name,
T plugin)
Register a plugin with a given name. |
| Methods inherited from class java.lang.Object |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Field Detail |
|---|
public static org.slf4j.Logger log
| Constructor Detail |
|---|
public AbstractPluginLoader(String type,
Class<T> pluginClassType,
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,
Class<T> pluginClassType)
| Method Detail |
|---|
protected String[] getDefaultPackages()
protected T create(SolrResourceLoader loader,
String name,
String className,
Node node)
throws Exception
<plugin name="name1" class="solr.ClassName">
...
</plugin>
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 plugin
Exception
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 plugin
Exception
public T load(SolrResourceLoader loader,
NodeList nodes)
<plugins>
<plugin name="name1" class="solr.ClassName" >
...
</plugin>
<plugin name="name2" class="solr.ClassName" >
...
</plugin>
</plugins>
This will initialize and register each plugin from the list. A class will
be generated for each class name and registered to the given name.
If 'preRegister' is true, each plugin will be registered *before* it is initialized
This may be useful for implementations that need to inspect other registered
plugins at startup.
One (and only one) plugin may declare itself to be the 'default' plugin using:
<plugin name="name2" class="solr.ClassName" default="true">
If a default element is defined, it will be returned from this function.
public T loadSingle(SolrResourceLoader loader,
Node node)
<plugin name="name1" class="solr.ClassName" > ... </plugin>
This will initialize and register a single plugin. A class will be
generated for the plugin and registered to the given name.
If 'preRegister' is true, the plugin will be registered *before* it is
initialized This may be useful for implementations that need to inspect
other registered plugins at startup.
The created class for the plugin will be returned from this function.
|
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||