in commons-digester3-core/src/main/java/org/apache/commons/digester3/plugins/strategies/FinderFromClass.java [101:139]
public RuleLoader findLoader( final Digester digester, final Class<?> pluginClass, final Properties p )
throws PluginException
{
final String ruleClassName = p.getProperty( ruleClassAttr );
if ( ruleClassName == null )
{
// nope, user hasn't requested dynamic rules to be loaded
// from a specific class.
return null;
}
// ok, we are in business
String methodName = null;
if ( methodAttr != null )
{
methodName = p.getProperty( methodAttr );
}
if ( methodName == null )
{
methodName = dfltMethodName;
}
if ( methodName == null )
{
methodName = DFLT_METHOD_NAME;
}
Class<?> ruleClass;
try
{
// load the plugin class object
ruleClass = digester.getClassLoader().loadClass( ruleClassName );
}
catch ( final ClassNotFoundException cnfe )
{
throw new PluginException( "Unable to load class " + ruleClassName, cnfe );
}
return new LoaderFromClass( ruleClass, methodName );
}