public class FinderFromDfltClass extends RuleFinder
Modifier and Type | Field and Description |
---|---|
static java.lang.String |
DFLT_METHOD_NAME |
static java.lang.String |
DFLT_RULECLASS_SUFFIX |
private java.lang.String |
methodName |
private java.lang.String |
rulesClassSuffix |
Constructor and Description |
---|
FinderFromDfltClass()
|
FinderFromDfltClass(java.lang.String rulesClassSuffix,
java.lang.String methodName)
Create a rule-finder which invokes a method on a class whenever
dynamic rules for a plugin need to be loaded.
|
Modifier and Type | Method and Description |
---|---|
RuleLoader |
findLoader(Digester digester,
java.lang.Class<?> pluginClass,
java.util.Properties p)
If there exists a class whose name is the plugin class name + the
suffix specified to the constructor, then load that class, locate
the appropriate rules-adding method on that class, and return an
object encapsulating that info.
|
public static java.lang.String DFLT_RULECLASS_SUFFIX
public static java.lang.String DFLT_METHOD_NAME
private java.lang.String rulesClassSuffix
private java.lang.String methodName
public FinderFromDfltClass()
public FinderFromDfltClass(java.lang.String rulesClassSuffix, java.lang.String methodName)
rulesClassSuffix
- must be non-null.methodName
- may be null.public RuleLoader findLoader(Digester digester, java.lang.Class<?> pluginClass, java.util.Properties p) throws PluginException
If there is no such class, then just return null.
The returned object (when non-null) will invoke the target method
on the selected class whenever its addRules method is invoked. The
target method is expected to have the following prototype:
public static void xxxxx(Digester d, String patternPrefix);
findLoader
in class RuleFinder
PluginException