* @see org.apache.tapestry.AbstractComponent#renderComponent(org.apache.tapestry.IMarkupWriter,
* org.apache.tapestry.IRequestCycle)
*/
protected void renderComponent(IMarkupWriter writer, IRequestCycle cycle)
{
IForm form = TapestryUtils.getForm(cycle, this);
setForm(form);
if (form.wasPrerendered(writer, this))
return;
IValidationDelegate delegate = form.getDelegate();
delegate.setFormComponent(this);
setName(form);
if (form.isRewinding())
{
if (!isDisabled())
{
rewindFormComponent(writer, cycle);
}
// This is for the benefit of the couple of components (LinkSubmit) that allow a body.
// The body should render when the component rewinds.
if (getRenderBodyOnRewind())
renderBody(writer, cycle);
}
else if (!cycle.isRewinding())
{
if (!NullWriter.class.isInstance(writer))
form.setFormFieldUpdating(true);
renderFormComponent(writer, cycle);
if (getCanTakeFocus() && !isDisabled())
{