in commons-digester3-core/src/main/java/org/apache/commons/digester3/FactoryCreateRule.java [325:349]
protected ObjectCreationFactory<?> getFactory( final Attributes attributes )
throws Exception
{
if ( creationFactory == null )
{
String realClassName = className;
if ( attributeName != null )
{
final String value = attributes.getValue( attributeName );
if ( value != null )
{
realClassName = value;
}
}
if ( getDigester().getLogger().isDebugEnabled() )
{
getDigester().getLogger().debug( format( "[FactoryCreateRule]{%s} New factory %s",
getDigester().getMatch(), realClassName ) );
}
final Class<?> clazz = getDigester().getClassLoader().loadClass( realClassName );
creationFactory = (ObjectCreationFactory<?>) clazz.newInstance();
creationFactory.setDigester( getDigester() );
}
return creationFactory;
}