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

java.lang.Object
  extended by org.apache.commons.digester3.plugins.RuleFinder
      extended by org.apache.commons.digester3.plugins.strategies.FinderFromDfltMethod

public class FinderFromDfltMethod
extends RuleFinder

A rule-finding algorithm which looks for a method with a specific name on the plugin class.

Since:
1.6

Constructor Summary
FinderFromDfltMethod()
          See findLoader(org.apache.commons.digester3.Digester, java.lang.Class, java.util.Properties).
FinderFromDfltMethod(String methodName)
          Create a rule-finder which invokes a specific method on the plugin class whenever dynamic rules for a plugin need to be loaded.
 
Method Summary
 RuleLoader findLoader(Digester d, Class<?> pluginClass, Properties p)
          If there exists on the plugin class a method with name matching the constructor's methodName value 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

FinderFromDfltMethod

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


FinderFromDfltMethod

public FinderFromDfltMethod(String methodName)
Create a rule-finder which invokes a specific method on the plugin class whenever dynamic rules for a plugin need to be loaded. See the findRules method for more info.

Parameters:
methodName - must be non-null.
Method Detail

findLoader

public RuleLoader findLoader(Digester d,
                             Class<?> pluginClass,
                             Properties p)
                      throws PluginException
If there exists on the plugin class a method with name matching the constructor's methodName value then locate the appropriate Method on the plugin class and return an object encapsulating that info.

If there is no matching method 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.