org.apache.commons.digester.plugins.strategies
Class FinderFromDfltClass

java.lang.Object
  |
  +--org.apache.commons.digester.plugins.RuleFinder
        |
        +--org.apache.commons.digester.plugins.strategies.FinderFromDfltClass

public class FinderFromDfltClass
extends RuleFinder

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

Since:
1.6

Field Summary
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 Summary
FinderFromDfltClass()
          See findLoader(org.apache.commons.digester.Digester, java.lang.Class, java.util.Properties).
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.
 
Method Summary
 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.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

DFLT_RULECLASS_SUFFIX

public static java.lang.String DFLT_RULECLASS_SUFFIX

DFLT_METHOD_NAME

public static java.lang.String DFLT_METHOD_NAME

rulesClassSuffix

private java.lang.String rulesClassSuffix

methodName

private java.lang.String methodName
Constructor Detail

FinderFromDfltClass

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


FinderFromDfltClass

public 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. See the findRules method for more info.

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

findLoader

public RuleLoader findLoader(Digester digester,
                             java.lang.Class pluginClass,
                             java.util.Properties p)
                      throws PluginException
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.

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);

Specified by:
findLoader in class RuleFinder
PluginException


Copyright (c) 2001-2004 - Apache Software Foundation