finalClassName = _componentClassResolver
.resolveComponentTypeToClassName(componentType);
}
catch (IllegalArgumentException ex)
{
throw new TapestryException(ex.getMessage(), location, ex);
}
}
Instantiator instantiator = _componentInstantiatorSource
.findInstantiator(finalClassName);
// This is actually a good place to check for recursive templates, here where we've
// resolved
// the component type to a fully qualified class name.
checkForRecursion(finalClassName, container, location);
// The container for any components is the loading component, regardless of
// how the component elements are nested within the loading component's
// template.
ComponentPageElement result = container.newChild(id, elementName, instantiator, location);
page.addLifecycleListener(result);
addMixins(result, instantiator);
return result;
}
catch (RuntimeException ex)
{
throw new TapestryException(ex.getMessage(), location, ex);
}
}