package org.jboss.seam.ui.renderkit;
import java.io.IOException;
import javax.faces.component.UIComponent;
import javax.faces.context.FacesContext;
import javax.faces.context.ResponseWriter;
import org.jboss.seam.ui.component.UILink;
import org.jboss.seam.ui.util.HTML;
import org.jboss.seam.ui.util.cdk.RendererBase;
public class LinkRendererBase extends RendererBase
{
@Override
protected Class getComponentClass()
{
return UILink.class;
}
@Override
protected void doEncodeBegin(ResponseWriter writer, FacesContext context, UIComponent component) throws IOException
{
UILink link = (UILink) component;
String url = link.getUrl();
writer.startElement(HTML.ANCHOR_ELEM, link);
if (url != null && !link.isDisabled())
{
writer.writeAttribute(HTML.HREF_ATTR, url, HTML.HREF_ATTR);
}
if (link.getId() != null)
{
writer.writeAttribute(HTML.ID_ATTR, link.getClientId(context), HTML.ID_ATTR);
}
HTML.renderHTMLAttributes(writer, link, HTML.ANCHOR_PASSTHROUGH_ATTRIBUTES);
if (link.getValue() != null)
{
writer.writeText(link.getValue(), null);
}
}
@Override
protected void doEncodeEnd(ResponseWriter writer, FacesContext context, UIComponent component) throws IOException
{
writer.endElement(HTML.ANCHOR_ELEM);
}
}