org.apache.commons.digester.plugins.strategies

Class FinderFromResource


public class FinderFromResource
extends RuleFinder

A rule-finding algorithm which expects the user to specify a resource name (ie a file in the classpath). The file is expected to contain Digester rules in xmlrules format.
Since:
1.6

Field Summary

static String
DFLT_RESOURCE_ATTR
Name of xml attribute on the plugin declaration which is used to configure rule-loading for that declaration.
private String
resourceAttr
See findLoader(Digester,Class,Properties).

Constructor Summary

FinderFromResource()
Constructor.
FinderFromResource(String resourceAttr)
See findLoader(Digester,Class,Properties).

Method Summary

RuleLoader
findLoader(Digester d, Class pluginClass, Properties p)
If there exists a property with the name matching constructor param resourceAttr, then load that file, run it through the xmlrules module and return an object encapsulating those rules.
static RuleLoader
loadRules(Digester d, Class pluginClass, InputStream is, String resourceName)
Open the specified resource file (ie a file in the classpath, including being within a jar in the classpath), run it through the xmlrules module and return an object encapsulating those rules.

Methods inherited from class org.apache.commons.digester.plugins.RuleFinder

findLoader

Field Details

DFLT_RESOURCE_ATTR

public static String DFLT_RESOURCE_ATTR
Name of xml attribute on the plugin declaration which is used to configure rule-loading for that declaration.

resourceAttr

private String resourceAttr

Constructor Details

FinderFromResource

public FinderFromResource()
Constructor.

FinderFromResource

public FinderFromResource(String resourceAttr)

Method Details

findLoader

public RuleLoader findLoader(Digester d,
                             Class pluginClass,
                             Properties p)
            throws PluginException
If there exists a property with the name matching constructor param resourceAttr, then load that file, run it through the xmlrules module and return an object encapsulating those rules.

If there is no matching property provided, then just return null.

The returned object (when non-null) will add the selected rules to the digester whenever its addRules method is invoked.

Overrides:
findLoader in interface RuleFinder

loadRules

public static RuleLoader loadRules(Digester d,
                                   Class pluginClass,
                                   InputStream is,
                                   String resourceName)
            throws PluginException
Open the specified resource file (ie a file in the classpath, including being within a jar in the classpath), run it through the xmlrules module and return an object encapsulating those rules.
Parameters:
d - is the digester into which rules will eventually be loaded.
pluginClass - is the class whose xml params the rules are parsing.
is - is where the xmlrules will be read from, and must be non-null.
resourceName - is a string describing the source of the xmlrules, for use in generating error messages.

Copyright 2001-2005 The Apache Software Foundation.