FacesContext context,
RenderingContext arc,
UIComponent component,
FacesBean bean) throws IOException
{
TableRenderingContext tContext =
TableRenderingContext.getCurrentInstance();
if (tContext == null)
{
_LOG.warning("COMPONENT_COLUMN_OUTSIDE_TABLE", component);
return;
}
if (_isColumnGroup(component))
{
_columnGroupRenderer.encodeAll(context, arc, component, bean);
return;
}
// check to see if we are rendering a table column header, or table data
RenderStage rs = tContext.getRenderStage();
int stage = rs.getStage();
switch (stage)
{
case RenderStage.INITIAL_STAGE:
_computeMode(arc, tContext, component, bean);
break;
case RenderStage.COLUMN_HEADER_STAGE:
_renderHeaderMode(context, arc, tContext, component);
break;
case RenderStage.COLUMN_FOOTER_STAGE:
_renderFooterMode(context, arc, tContext, component);
break;
case RenderStage.TREE_NODE_STAGE:
// _renderHGridNodeStamp(context, arc, tContext, component);
break;
case RenderStage.DATA_STAGE:
_renderDataMode(context, arc, tContext, component);
break;
case RenderStage.START_ROW_STAGE:
_startRowMode(tContext, component);
break;
case RenderStage.END_STAGE:
// we do not do any special clean up
break;
default:
assert false : "Bad renderStage:"+stage;
}
// after we render, we must increment both the physical and the logical
// column indices
ColumnData colData = tContext.getColumnData();
colData.incrementColumnIndex();
}