org.apache.commons.digester.plugins.strategies

Class 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 String
DFLT_METHOD_NAME
static String
DFLT_RULECLASS_SUFFIX
private String
methodName
private String
rulesClassSuffix

Constructor Summary

FinderFromDfltClass()
See findLoader(Digester,Class,Properties).
FinderFromDfltClass(String rulesClassSuffix, 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, Class pluginClass, 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 org.apache.commons.digester.plugins.RuleFinder

findLoader

Field Details

DFLT_METHOD_NAME

public static String DFLT_METHOD_NAME

DFLT_RULECLASS_SUFFIX

public static String DFLT_RULECLASS_SUFFIX

methodName

private String methodName

rulesClassSuffix

private String rulesClassSuffix

Constructor Details

FinderFromDfltClass

public FinderFromDfltClass()

FinderFromDfltClass

public FinderFromDfltClass(String rulesClassSuffix,
                           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 Details

findLoader

public RuleLoader findLoader(Digester digester,
                             Class pluginClass,
                             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);

Overrides:
findLoader in interface RuleFinder

Copyright 2001-2005 The Apache Software Foundation.