org.apache.commons.digester3.plugins.strategies
Class FinderFromMethod

java.lang.Object
  extended by org.apache.commons.digester3.plugins.RuleFinder
      extended by 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

Constructor Summary
FinderFromMethod()
          Constructor.
FinderFromMethod(String methodAttr)
          See findLoader(org.apache.commons.digester3.Digester, java.lang.Class, java.util.Properties).
 
Method Summary
 RuleLoader findLoader(Digester d, Class<?> pluginClass, 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.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

FinderFromMethod

public FinderFromMethod()
Constructor.


FinderFromMethod

public FinderFromMethod(String methodAttr)
See findLoader(org.apache.commons.digester3.Digester, java.lang.Class, java.util.Properties).

Parameters:
methodAttr - The XML attribute that needs to be present on a plugin declaration in order to specify the method to load rules from.
Method Detail

findLoader

public RuleLoader findLoader(Digester d,
                             Class<?> pluginClass,
                             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 class RuleFinder
Parameters:
d - The digester instance where locating plugin classes
pluginClass - The plugin Java class
p - 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.


Copyright © 2001-2011 The Apache Software Foundation. All Rights Reserved.