com.sun.rave.web.ui.renderer
Class HyperlinkRenderer

java.lang.Object
  extended by javax.faces.render.Renderer
      extended by com.sun.rave.web.ui.renderer.AbstractRenderer
          extended by com.sun.rave.web.ui.renderer.HyperlinkRenderer
Direct Known Subclasses:
ImageHyperlinkRenderer, TabRenderer

public class HyperlinkRenderer
extends AbstractRenderer

This class is responsible for rendering the Hyperlink component for the HTML Render Kit.

The Hyperlink component can be used as an anchor, a plain hyperlink or a hyperlink that submits the form depending on how the properites are filled out for the component


Field Summary
 
Fields inherited from class com.sun.rave.web.ui.renderer.AbstractRenderer
BUNDLE, EVENTS_ATTRIBUTES, I18N_ATTRIBUTES
 
Constructor Summary
HyperlinkRenderer()
           
 
Method Summary
 void decode(javax.faces.context.FacesContext context, javax.faces.component.UIComponent component)
          Decode will determine if this component was the one that submitted the form.
 void encodeChildren(javax.faces.context.FacesContext context, javax.faces.component.UIComponent component)
          Render the children of the specified UIComponent to the output stream or writer associated with the response we are creating.
protected  void finishRenderAttributes(javax.faces.context.FacesContext context, javax.faces.component.UIComponent component, javax.faces.context.ResponseWriter writer)
           
 boolean getRendersChildren()
           
protected  java.lang.String getStyles(javax.faces.context.FacesContext context, javax.faces.component.UIComponent component)
          This function returns the style classes necessary to display the Hyperlink component as it's state indicates
protected  void renderAttributes(javax.faces.context.FacesContext context, javax.faces.component.UIComponent component, javax.faces.context.ResponseWriter writer)
          Render the attributes for an anchor tag.
protected  void renderChildren(javax.faces.context.FacesContext context, javax.faces.component.UIComponent component)
          This method is called by renderEnd.
protected  void renderEnd(javax.faces.context.FacesContext context, javax.faces.component.UIComponent component, javax.faces.context.ResponseWriter writer)
          Close off the anchor tag.
protected  void renderLink(javax.faces.context.FacesContext context, javax.faces.component.UIComponent component, javax.faces.context.ResponseWriter writer)
           
protected  void renderStart(javax.faces.context.FacesContext context, javax.faces.component.UIComponent component, javax.faces.context.ResponseWriter writer)
          Render the start of an anchor (hyperlink) tag.
 
Methods inherited from class com.sun.rave.web.ui.renderer.AbstractRenderer
addBooleanAttributes, addCoreAttributes, addIntegerAttributes, addStringAttributes, encodeBegin, encodeEnd, getApplication, getAsObject, getAsString, getExternalContext, getFacesContext, getSubmittedValue, isDisabled, isPortlet, isReadOnly, renderMarkup, setSubmittedValue
 
Methods inherited from class javax.faces.render.Renderer
convertClientId, getConvertedValue
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

HyperlinkRenderer

public HyperlinkRenderer()
Method Detail

getRendersChildren

public boolean getRendersChildren()
Overrides:
getRendersChildren in class javax.faces.render.Renderer

decode

public void decode(javax.faces.context.FacesContext context,
                   javax.faces.component.UIComponent component)

Decode will determine if this component was the one that submitted the form. It determines this by looking for the hidden field with the link's name appended with an "_submittedField" If this hidden field contains the id of the component then this component submitted the form.

Overrides:
decode in class AbstractRenderer
Parameters:
context - FacesContext for the current request
component - UIComponent to be decoded
Throws:
java.lang.NullPointerException - if context or component is null

renderStart

protected void renderStart(javax.faces.context.FacesContext context,
                           javax.faces.component.UIComponent component,
                           javax.faces.context.ResponseWriter writer)
                    throws java.io.IOException

Render the start of an anchor (hyperlink) tag.

Overrides:
renderStart in class AbstractRenderer
Parameters:
context - FacesContext for the current request
component - UIComponent to be rendered
writer - ResponseWriter to which the element start should be rendered
Throws:
java.io.IOException - if an input/output error occurs

renderAttributes

protected void renderAttributes(javax.faces.context.FacesContext context,
                                javax.faces.component.UIComponent component,
                                javax.faces.context.ResponseWriter writer)
                         throws java.io.IOException

Render the attributes for an anchor tag. The onclick attribute will contain extra javascript that will appropriately submit the form if the URL field is not set.

Overrides:
renderAttributes in class AbstractRenderer
Parameters:
context - FacesContext for the current request
component - UIComponent to be rendered
writer - ResponseWriter to which the element attributes should be rendered
Throws:
java.io.IOException - if an input/output error occurs

finishRenderAttributes

protected void finishRenderAttributes(javax.faces.context.FacesContext context,
                                      javax.faces.component.UIComponent component,
                                      javax.faces.context.ResponseWriter writer)
                               throws java.io.IOException
Throws:
java.io.IOException

encodeChildren

public void encodeChildren(javax.faces.context.FacesContext context,
                           javax.faces.component.UIComponent component)
                    throws java.io.IOException
Description copied from class: AbstractRenderer

Render the children of the specified UIComponent to the output stream or writer associated with the response we are creating.

The default implementation iterates through the children of this component and renders them.

Overrides:
encodeChildren in class AbstractRenderer
Parameters:
context - FacesContext for the current request
component - UIComponent to be decoded
Throws:
java.io.IOException - if an input/output error occurs

renderEnd

protected void renderEnd(javax.faces.context.FacesContext context,
                         javax.faces.component.UIComponent component,
                         javax.faces.context.ResponseWriter writer)
                  throws java.io.IOException

Close off the anchor tag.

Overrides:
renderEnd in class AbstractRenderer
Parameters:
context - FacesContext for the current request
component - UIComponent to be rendered
writer - ResponseWriter to which the element end should be rendered
Throws:
java.io.IOException - if an input/output error occurs

renderLink

protected void renderLink(javax.faces.context.FacesContext context,
                          javax.faces.component.UIComponent component,
                          javax.faces.context.ResponseWriter writer)
                   throws java.io.IOException
Throws:
java.io.IOException

renderChildren

protected void renderChildren(javax.faces.context.FacesContext context,
                              javax.faces.component.UIComponent component)
                       throws java.io.IOException
This method is called by renderEnd. It is provided so renderers that extend HyperlinkRenderer (such as TabRenderer) may override it in order to prevent children from always being rendered.

Parameters:
context - The current FacesContext.
component - The current component.
Throws:
java.io.IOException

getStyles

protected java.lang.String getStyles(javax.faces.context.FacesContext context,
                                     javax.faces.component.UIComponent component)
This function returns the style classes necessary to display the Hyperlink component as it's state indicates

Returns:
the style classes needed to display the current state of the component