return true;
}
initFacetHandlersMap(ctx);
FaceletHandler handler = _facetHandlersMap.get(name);
if (handler != null)
{
AbstractFaceletContext actx = (AbstractFaceletContext) ctx;
// Pop the current composite component on stack, so #{cc} references
// can be resolved correctly, because they are relative to the page
// that define it.
FaceletCompositionContext fcc = actx.getFaceletCompositionContext();
UIComponent innerCompositeComponent = fcc.getCompositeComponentFromStack();
fcc.popCompositeComponentToStack();
// Pop the template context, so ui:xx tags and nested composite component
// cases could work correctly
TemplateContext itc = actx.popTemplateContext();
try
{
handler.apply(ctx, parent);
}
finally
{
actx.pushTemplateContext(itc);
fcc.pushCompositeComponentToStack(innerCompositeComponent);
}
return true;
}
else
{
checkFacetRequired(ctx, parent, name);
return true;
}
}
else
{
AbstractFaceletContext actx = (AbstractFaceletContext) ctx;
// Pop the current composite component on stack, so #{cc} references
// can be resolved correctly, because they are relative to the page
// that define it.
FaceletCompositionContext fcc = actx.getFaceletCompositionContext();
UIComponent innerCompositeComponent = fcc.getCompositeComponentFromStack();
fcc.popCompositeComponentToStack();
// Pop the template context, so ui:xx tags and nested composite component
// cases could work correctly
TemplateContext itc = actx.popTemplateContext();
try
{
for (FaceletHandler handler : _componentHandlers)
{
handler.apply(ctx, parent);
}
}
finally
{
actx.pushTemplateContext(itc);