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

java.lang.Object
  extended by javax.faces.render.Renderer
      extended by com.sun.rave.web.ui.renderer.TableRowGroupRenderer

public class TableRowGroupRenderer
extends javax.faces.render.Renderer

This class renders TableRowGroup components.

The TableRowGroup component provides a layout mechanism for displaying rows of data. UI guidelines describe specific behavior that can applied to the rows and columns of data such as sorting, filtering, pagination, selection, and custom user actions. In addition, UI guidelines also define sections of the table that can be used for titles, row group headers, and placement of pre-defined and user defined actions.

Note: Column headers and footers are rendered by TableRowGroupRenderer. Table column footers are rendered by TableRenderer.

Note: To see the messages logged by this class, set the following global defaults in your JDK's "jre/lib/logging.properties" file.

 java.util.logging.ConsoleHandler.level = FINE
 com.sun.rave.web.ui.renderer.TableRowGroupRenderer.level = FINE
 

See TLD docs for more information.


Constructor Summary
TableRowGroupRenderer()
           
 
Method Summary
 void encodeBegin(javax.faces.context.FacesContext context, javax.faces.component.UIComponent component)
          Render the beginning of the specified UIComponent to the output stream or writer associated with the response we are creating.
 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.
 void encodeEnd(javax.faces.context.FacesContext context, javax.faces.component.UIComponent component)
          Render the ending of the specified UIComponent to the output stream or writer associated with the response we are creating.
 boolean getRendersChildren()
          Return a flag indicating whether this Renderer is responsible for rendering the children the component it is asked to render.
protected  void renderColumnFooters(javax.faces.context.FacesContext context, TableRowGroup component, javax.faces.context.ResponseWriter writer)
          Render column footers for TableRowGroup components.
protected  void renderColumnHeaders(javax.faces.context.FacesContext context, TableRowGroup component, javax.faces.context.ResponseWriter writer)
          Render column headers for TableRowGroup components.
protected  void renderEmptyDataColumn(javax.faces.context.FacesContext context, TableRowGroup component, javax.faces.context.ResponseWriter writer)
          Render empty data message for TableRowGroup components.
protected  void renderEnclosingTagEnd(javax.faces.context.ResponseWriter writer)
          Render enclosing tag for TableRowGroup components.
protected  void renderEnclosingTagStart(javax.faces.context.FacesContext context, TableRowGroup component, javax.faces.context.ResponseWriter writer, int index)
          Render enclosing tag for TableRowGroup components.
protected  void renderGroupFooter(javax.faces.context.FacesContext context, TableRowGroup component, javax.faces.context.ResponseWriter writer)
          Render group footer for TableRowGroup components.
protected  void renderGroupHeader(javax.faces.context.FacesContext context, TableRowGroup component, javax.faces.context.ResponseWriter writer)
          Render group header for TableRowGroup components.
protected  void renderTableColumnFooters(javax.faces.context.FacesContext context, TableRowGroup component, javax.faces.context.ResponseWriter writer)
          Render table column footers for TableRowGroup components.
 
Methods inherited from class javax.faces.render.Renderer
convertClientId, decode, getConvertedValue
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

TableRowGroupRenderer

public TableRowGroupRenderer()
Method Detail

encodeBegin

public void encodeBegin(javax.faces.context.FacesContext context,
                        javax.faces.component.UIComponent component)
                 throws java.io.IOException
Render the beginning of the specified UIComponent to the output stream or writer associated with the response we are creating.

Overrides:
encodeBegin in class javax.faces.render.Renderer
Parameters:
context - FacesContext for the current request.
component - UIComponent to be rendered.
Throws:
java.io.IOException - if an input/output error occurs.
java.lang.NullPointerException - if context or component is null.

encodeChildren

public void encodeChildren(javax.faces.context.FacesContext context,
                           javax.faces.component.UIComponent component)
                    throws java.io.IOException
Render the children of the specified UIComponent to the output stream or writer associated with the response we are creating.

Overrides:
encodeChildren in class javax.faces.render.Renderer
Parameters:
context - FacesContext for the current request.
component - UIComponent to be decoded.
Throws:
java.io.IOException - if an input/output error occurs.
java.lang.NullPointerException - if context or component is null.

encodeEnd

public void encodeEnd(javax.faces.context.FacesContext context,
                      javax.faces.component.UIComponent component)
               throws java.io.IOException
Render the ending of the specified UIComponent to the output stream or writer associated with the response we are creating.

Overrides:
encodeEnd in class javax.faces.render.Renderer
Parameters:
context - FacesContext for the current request.
component - UIComponent to be rendered.
Throws:
java.io.IOException - if an input/output error occurs.
java.lang.NullPointerException - if context or component is null.

getRendersChildren

public boolean getRendersChildren()
Return a flag indicating whether this Renderer is responsible for rendering the children the component it is asked to render. The default implementation returns false.

Overrides:
getRendersChildren in class javax.faces.render.Renderer

renderEmptyDataColumn

protected void renderEmptyDataColumn(javax.faces.context.FacesContext context,
                                     TableRowGroup component,
                                     javax.faces.context.ResponseWriter writer)
                              throws java.io.IOException
Render empty data message for TableRowGroup components.

Parameters:
context - FacesContext for the current request.
component - TableRowGroup to be rendered.
writer - ResponseWriter to which the component should be rendered.
Throws:
java.io.IOException - if an input/output error occurs.

renderColumnFooters

protected void renderColumnFooters(javax.faces.context.FacesContext context,
                                   TableRowGroup component,
                                   javax.faces.context.ResponseWriter writer)
                            throws java.io.IOException
Render column footers for TableRowGroup components.

Note: Although not currently a requirement, nested TableColumn children could render column footers that look like:


 |   | 1 | 2 |   | 3 | 4 | 5 | 6 |   |
 | A |   B   | C |       D       | E |

 

In this case, components would be rendered on separate rows. For example, the HTML would look like:


 
A 1 2 C 3 4 5 6 E
B D

However, the current implementation will render only the first row, which would look like:


 | A | 1 | 2 | C | 3 | 4 | 5 | 6 | E |

 

Parameters:
context - FacesContext for the current request.
component - TableRowGroup to be rendered.
writer - ResponseWriter to which the component should be rendered.
Throws:
java.io.IOException - if an input/output error occurs.

renderColumnHeaders

protected void renderColumnHeaders(javax.faces.context.FacesContext context,
                                   TableRowGroup component,
                                   javax.faces.context.ResponseWriter writer)
                            throws java.io.IOException
Render column headers for TableRowGroup components.

Note: Although not typical, nested TableColumn children may render column headers that look like:


 | A |   B   | C |       D       | E |
 |   | 1 | 2 |   | 3 | 4 | 5 | 6 |   |

 

In this case, components would be rendered on separate rows. For example, the HTML would look like:


 
A B C D E
1 2 3 4 5 6

Parameters:
context - FacesContext for the current request.
component - TableRowGroup to be rendered.
writer - ResponseWriter to which the component should be rendered.
Throws:
java.io.IOException - if an input/output error occurs.

renderTableColumnFooters

protected void renderTableColumnFooters(javax.faces.context.FacesContext context,
                                        TableRowGroup component,
                                        javax.faces.context.ResponseWriter writer)
                                 throws java.io.IOException
Render table column footers for TableRowGroup components.

Note: Although not currently a requirement, nested TableColumn children could render column footers that look like:


 |   | 1 | 2 |   | 3 | 4 | 5 | 6 |   |
 | A |   B   | C |       D       | E |

 

In this case, components would be rendered on separate rows. For example, the HTML would look like:


 
A 1 2 C 3 4 5 6 E
B D

However, the current implementation will render only the first row, which would look like:


 | A | 1 | 2 | C | 3 | 4 | 5 | 6 | E |

 

Parameters:
context - FacesContext for the current request.
component - TableRowGroup to be rendered.
writer - ResponseWriter to which the component should be rendered.
Throws:
java.io.IOException - if an input/output error occurs.

renderGroupFooter

protected void renderGroupFooter(javax.faces.context.FacesContext context,
                                 TableRowGroup component,
                                 javax.faces.context.ResponseWriter writer)
                          throws java.io.IOException
Render group footer for TableRowGroup components.

Parameters:
context - FacesContext for the current request.
component - TableRowGroup to be rendered.
writer - ResponseWriter to which the component should be rendered.
Throws:
java.io.IOException - if an input/output error occurs.

renderGroupHeader

protected void renderGroupHeader(javax.faces.context.FacesContext context,
                                 TableRowGroup component,
                                 javax.faces.context.ResponseWriter writer)
                          throws java.io.IOException
Render group header for TableRowGroup components.

Parameters:
context - FacesContext for the current request.
component - TableRowGroup to be rendered.
writer - ResponseWriter to which the component should be rendered.
Throws:
java.io.IOException - if an input/output error occurs.

renderEnclosingTagStart

protected void renderEnclosingTagStart(javax.faces.context.FacesContext context,
                                       TableRowGroup component,
                                       javax.faces.context.ResponseWriter writer,
                                       int index)
                                throws java.io.IOException
Render enclosing tag for TableRowGroup components.

Parameters:
context - FacesContext for the current request.
component - TableRowGroup to be rendered.
writer - ResponseWriter to which the component should be rendered.
index - The current row index.
Throws:
java.io.IOException - if an input/output error occurs.

renderEnclosingTagEnd

protected void renderEnclosingTagEnd(javax.faces.context.ResponseWriter writer)
                              throws java.io.IOException
Render enclosing tag for TableRowGroup components.

Parameters:
writer - ResponseWriter to which the component should be rendered.
Throws:
java.io.IOException - if an input/output error occurs.