Class FinderFromMethod
- java.lang.Object
-
- org.apache.commons.digester3.plugins.RuleFinder
-
- org.apache.commons.digester3.plugins.strategies.FinderFromMethod
-
public class FinderFromMethod extends RuleFinder
A rule-finding algorithm which expects the caller to specify a methodname as a plugin property, where the method exists on the plugin class.- Since:
- 1.6
-
-
Field Summary
Fields Modifier and Type Field Description private static java.lang.String
DFLT_METHOD_ATTR
Default XML attribute that needs to be present on a plugin declaration in order to specify the method to load rules from.private java.lang.String
methodAttr
-
Constructor Summary
Constructors Constructor Description FinderFromMethod()
Constructor.FinderFromMethod(java.lang.String methodAttr)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description RuleLoader
findLoader(Digester d, java.lang.Class<?> pluginClass, java.util.Properties p)
If there exists a property with the name matching constructor param methodAttr, then locate the appropriate Method on the plugin class and return an object encapsulating that info.
-
-
-
Field Detail
-
DFLT_METHOD_ATTR
private static final java.lang.String DFLT_METHOD_ATTR
Default XML attribute that needs to be present on a plugin declaration in order to specify the method to load rules from.- See Also:
- Constant Field Values
-
methodAttr
private final java.lang.String methodAttr
-
-
Method Detail
-
findLoader
public RuleLoader findLoader(Digester d, java.lang.Class<?> pluginClass, java.util.Properties p) throws PluginException
If there exists a property with the name matching constructor param methodAttr, then locate the appropriate Method on the plugin class and return an object encapsulating that info.If there is no matching property provided, then just return null.
The returned object (when non-null) will invoke the target method on the plugin 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);
- Specified by:
findLoader
in classRuleFinder
- Parameters:
d
- The digester instance where locating plugin classespluginClass
- The plugin Java classp
- The properties object that holds any xml attributes the user may have specified on the plugin declaration in order to indicate how to locate the plugin rules.- Returns:
- a source of digester rules for the specified plugin class.
- Throws:
PluginException
- if the algorithm finds a source of rules, but there is something invalid about that source.
-
-