}
public IPage loadPage(String name, INamespace namespace,
IRequestCycle cycle, IComponentSpecification specification)
{
IPage page = null;
_count = 0;
_depth = 0;
_maxDepth = 0;
_locale = _threadLocale.getLocale();
try
{
page = instantiatePage(name, namespace, specification);
// The page is now attached to the engine and request cycle; some
// code
// inside the page's finishLoad() method may require this.
// TAPESTRY-763
page.attach(cycle.getEngine(), cycle);
constructComponent(cycle, page, page, specification, namespace);
// Walk through the complete component tree to set up the default
// parameter values.
_establishDefaultParameterValuesWalker.walkComponentTree(page);
establishInheritedBindings();
// Walk through the complete component tree to ensure that required
// parameters are bound
_verifyRequiredParametersWalker.walkComponentTree(page);
// Now that the page has been properly constructed, the page
// or any components on the page will have been registered as
// page attach listeners.
page.firePageAttached();
}
finally
{
_locale = null;
_inheritedBindingQueue.clear();