org.apache.myfaces.renderkit.html.ext
Class HtmlTableRenderer

java.lang.Object
  extended by javax.faces.render.Renderer
      extended by org.apache.myfaces.shared_tomahawk.renderkit.html.HtmlRenderer
          extended by org.apache.myfaces.shared_tomahawk.renderkit.html.HtmlTableRendererBase
              extended by org.apache.myfaces.renderkit.html.ext.HtmlTableRenderer

public class HtmlTableRenderer
extends org.apache.myfaces.shared_tomahawk.renderkit.html.HtmlTableRendererBase

Renderer for the Tomahawk extended HtmlDataTable component.

Version:
$Revision: 674502 $ $Date: 2008-07-07 09:23:26 -0500 (Mon, 07 Jul 2008) $
Author:
Manfred Geiler (latest modification by $Author: imario $)

Nested Class Summary
 
Nested classes/interfaces inherited from class org.apache.myfaces.shared_tomahawk.renderkit.html.HtmlTableRendererBase
org.apache.myfaces.shared_tomahawk.renderkit.html.HtmlTableRendererBase.Styles
 
Field Summary
static String DETAIL_STAMP_FACET_NAME
          DetailStamp facet name.
 
Fields inherited from class org.apache.myfaces.shared_tomahawk.renderkit.html.HtmlTableRendererBase
FOOTER_FACET_NAME, HEADER_FACET_NAME
 
Constructor Summary
HtmlTableRenderer()
           
 
Method Summary
protected  void afterRow(javax.faces.context.FacesContext facesContext, javax.faces.component.UIData uiData)
           
protected  boolean amISpannedOver(String prefix, javax.faces.component.UIComponent component)
          specify if the header, footer or is spanned over (not shown) because of a colspan in a cell in a previous column
protected  void beforeBody(javax.faces.context.FacesContext facesContext, javax.faces.component.UIData uiData)
           
protected  void beforeColumn(javax.faces.context.FacesContext facesContext, javax.faces.component.UIData uiData, int columnIndex)
           
protected  void beforeColumnHeaderOrFooter(javax.faces.context.FacesContext facesContext, javax.faces.component.UIData uiData, boolean header, int columnIndex)
           
protected  void beforeRow(javax.faces.context.FacesContext facesContext, javax.faces.component.UIData uiData)
           
protected  void collectChildrenValues(List container, Iterator iterChildren)
           
protected  int determineChildColSpan(javax.faces.component.UIComponent uiComponent)
          Return the number of columns spanned by the specified component.
protected  String determineHeaderCellTag(javax.faces.context.FacesContext facesContext, javax.faces.component.UIComponent component)
           
protected  String determineHeaderFooterTag(javax.faces.context.FacesContext facesContext, javax.faces.component.UIComponent component, boolean header)
           
protected  boolean determineRenderFacet(javax.faces.component.UIComponent component, boolean header)
          determine if the header or footer should be rendered.
 void encodeBegin(javax.faces.context.FacesContext facesContext, javax.faces.component.UIComponent uiComponent)
           
 void encodeChildren(javax.faces.context.FacesContext facesContext, javax.faces.component.UIComponent component)
           
protected  void encodeColumnChild(javax.faces.context.FacesContext facesContext, javax.faces.context.ResponseWriter writer, javax.faces.component.UIData uiData, javax.faces.component.UIComponent component, org.apache.myfaces.shared_tomahawk.renderkit.html.HtmlTableRendererBase.Styles styles, int columnStyleIndex)
          Render the specified column object using the current row data.
 void encodeEnd(javax.faces.context.FacesContext facesContext, javax.faces.component.UIComponent uiComponent)
           
protected  void endTable(javax.faces.context.FacesContext facesContext, javax.faces.component.UIComponent uiComponent)
           
protected  int getNewspaperColumns(javax.faces.component.UIComponent component)
           
protected  javax.faces.component.UIComponent getNewspaperTableSpacer(javax.faces.component.UIComponent component)
           
protected  boolean hasFacet(boolean header, javax.faces.component.UIComponent uiComponent)
          Return true if the specified component has a facet that needs to be rendered in a THEAD or TFOOT section.
protected  boolean hasNewspaperTableSpacer(javax.faces.component.UIComponent component)
           
protected  void inBodyStart(javax.faces.context.FacesContext facesContext, javax.faces.component.UIData uiData)
          Perform any operations necessary in the TBODY start tag.
protected  boolean isDetailStampAfterRow(javax.faces.component.UIComponent uiComponent)
           
protected  boolean isEmbeddedTable(javax.faces.component.UIComponent uiComponent)
           
protected  boolean isListEqual(List list1, List list2)
          checks if the contenta of both lists are the same.
Notice: In case both lists are null or empty they are considered NOT being equal
protected  boolean isNewspaperHorizontalOrientation(javax.faces.component.UIComponent component)
           
protected  void putSortedReqScopeParam(javax.faces.context.FacesContext facesContext, org.apache.myfaces.component.html.ext.HtmlDataTable dataTable, int columnIndex)
           
protected  void renderColumnBody(javax.faces.context.FacesContext facesContext, javax.faces.context.ResponseWriter writer, javax.faces.component.UIData uiData, javax.faces.component.UIComponent component, org.apache.myfaces.shared_tomahawk.renderkit.html.HtmlTableRendererBase.Styles styles, int columnStyleIndex)
           
protected  void renderColumnChildHeaderOrFooterRow(javax.faces.context.FacesContext facesContext, javax.faces.context.ResponseWriter writer, javax.faces.component.UIComponent uiComponent, String styleClass, boolean header)
          Render the header or footer of the specified column object.
protected  void renderColumnFooterCell(javax.faces.context.FacesContext facesContext, javax.faces.context.ResponseWriter writer, javax.faces.component.UIComponent uiComponent, javax.faces.component.UIComponent facet, String footerStyleClass, int colspan)
           
protected  void renderColumnFooterRow(javax.faces.context.FacesContext facesContext, javax.faces.context.ResponseWriter writer, javax.faces.component.UIComponent component, String footerStyleClass)
          Renders the column footer.
protected  void renderColumnHeaderCell(javax.faces.context.FacesContext facesContext, javax.faces.context.ResponseWriter writer, javax.faces.component.UIComponent uiComponent, javax.faces.component.UIComponent facet, String headerStyleClass, int colspan)
           
protected  void renderColumnHeaderRow(javax.faces.context.FacesContext facesContext, javax.faces.context.ResponseWriter writer, javax.faces.component.UIComponent component, String headerStyleClass)
          Renders the column header.
protected  void renderHtmlColumnAttributes(javax.faces.context.ResponseWriter writer, javax.faces.component.UIComponent uiComponent, String prefix)
           
protected  void renderRowAttribute(javax.faces.context.ResponseWriter writer, String htmlAttribute, Object value)
           
protected  void renderRowStart(javax.faces.context.FacesContext facesContext, javax.faces.context.ResponseWriter writer, javax.faces.component.UIData uiData, org.apache.myfaces.shared_tomahawk.renderkit.html.HtmlTableRendererBase.Styles styles, int rowStyleIndex)
           
protected  void renderRowStyle(javax.faces.context.FacesContext facesContext, javax.faces.context.ResponseWriter writer, javax.faces.component.UIData uiData, org.apache.myfaces.shared_tomahawk.renderkit.html.HtmlTableRendererBase.Styles styles, int rowStyleIndex)
           
protected  void renderTableHeaderOrFooterRow(javax.faces.context.FacesContext facesContext, javax.faces.context.ResponseWriter writer, javax.faces.component.UIComponent component, javax.faces.component.UIComponent facet, String styleClass, String colElementName, int colspan)
           
protected  void startTable(javax.faces.context.FacesContext facesContext, javax.faces.component.UIComponent uiComponent)
           
 
Methods inherited from class org.apache.myfaces.shared_tomahawk.renderkit.html.HtmlTableRendererBase
afterBody, afterColumn, afterColumnHeaderOrFooter, afterTable, beforeTable, decode, encodeInnerHtml, getFooterClass, getHeaderClass, getRendersChildren, getStyles, renderColumnFooterCell, renderColumnHeaderCell, renderFacet, renderRowEnd, renderSpacerCell, renderTableFooterRow, renderTableHeaderRow
 
Methods inherited from class org.apache.myfaces.shared_tomahawk.renderkit.html.HtmlRenderer
getActionUrl, getChildCount, getChildren, getClientId, renderId, shouldRenderId, toUri
 
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
 

Field Detail

DETAIL_STAMP_FACET_NAME

public static final String DETAIL_STAMP_FACET_NAME
DetailStamp facet name.

See Also:
Constant Field Values
Constructor Detail

HtmlTableRenderer

public HtmlTableRenderer()
Method Detail

getNewspaperColumns

protected int getNewspaperColumns(javax.faces.component.UIComponent component)
Overrides:
getNewspaperColumns in class org.apache.myfaces.shared_tomahawk.renderkit.html.HtmlTableRendererBase
Parameters:
component - dataTable
Returns:
number of layout columns

getNewspaperTableSpacer

protected javax.faces.component.UIComponent getNewspaperTableSpacer(javax.faces.component.UIComponent component)
Overrides:
getNewspaperTableSpacer in class org.apache.myfaces.shared_tomahawk.renderkit.html.HtmlTableRendererBase
Parameters:
component - dataTable
Returns:
component to display between layout columns

hasNewspaperTableSpacer

protected boolean hasNewspaperTableSpacer(javax.faces.component.UIComponent component)
Overrides:
hasNewspaperTableSpacer in class org.apache.myfaces.shared_tomahawk.renderkit.html.HtmlTableRendererBase
Parameters:
component - dataTable
Returns:
whether dataTable has component to display between layout columns

isNewspaperHorizontalOrientation

protected boolean isNewspaperHorizontalOrientation(javax.faces.component.UIComponent component)
Overrides:
isNewspaperHorizontalOrientation in class org.apache.myfaces.shared_tomahawk.renderkit.html.HtmlTableRendererBase
Parameters:
component - dataTable
Returns:
if the orientation of the has newspaper columns is horizontal

startTable

protected void startTable(javax.faces.context.FacesContext facesContext,
                          javax.faces.component.UIComponent uiComponent)
                   throws IOException
Overrides:
startTable in class org.apache.myfaces.shared_tomahawk.renderkit.html.HtmlTableRendererBase
Throws:
IOException

determineHeaderFooterTag

protected String determineHeaderFooterTag(javax.faces.context.FacesContext facesContext,
                                          javax.faces.component.UIComponent component,
                                          boolean header)
Overrides:
determineHeaderFooterTag in class org.apache.myfaces.shared_tomahawk.renderkit.html.HtmlTableRendererBase

determineHeaderCellTag

protected String determineHeaderCellTag(javax.faces.context.FacesContext facesContext,
                                        javax.faces.component.UIComponent component)
Overrides:
determineHeaderCellTag in class org.apache.myfaces.shared_tomahawk.renderkit.html.HtmlTableRendererBase

renderTableHeaderOrFooterRow

protected void renderTableHeaderOrFooterRow(javax.faces.context.FacesContext facesContext,
                                            javax.faces.context.ResponseWriter writer,
                                            javax.faces.component.UIComponent component,
                                            javax.faces.component.UIComponent facet,
                                            String styleClass,
                                            String colElementName,
                                            int colspan)
                                     throws IOException
Overrides:
renderTableHeaderOrFooterRow in class org.apache.myfaces.shared_tomahawk.renderkit.html.HtmlTableRendererBase
Throws:
IOException

isEmbeddedTable

protected boolean isEmbeddedTable(javax.faces.component.UIComponent uiComponent)

isDetailStampAfterRow

protected boolean isDetailStampAfterRow(javax.faces.component.UIComponent uiComponent)

endTable

protected void endTable(javax.faces.context.FacesContext facesContext,
                        javax.faces.component.UIComponent uiComponent)
                 throws IOException
Overrides:
endTable in class org.apache.myfaces.shared_tomahawk.renderkit.html.HtmlTableRendererBase
Throws:
IOException

beforeRow

protected void beforeRow(javax.faces.context.FacesContext facesContext,
                         javax.faces.component.UIData uiData)
                  throws IOException
Overrides:
beforeRow in class org.apache.myfaces.shared_tomahawk.renderkit.html.HtmlTableRendererBase
Throws:
IOException

afterRow

protected void afterRow(javax.faces.context.FacesContext facesContext,
                        javax.faces.component.UIData uiData)
                 throws IOException
Overrides:
afterRow in class org.apache.myfaces.shared_tomahawk.renderkit.html.HtmlTableRendererBase
Throws:
IOException

encodeBegin

public void encodeBegin(javax.faces.context.FacesContext facesContext,
                        javax.faces.component.UIComponent uiComponent)
                 throws IOException
Overrides:
encodeBegin in class org.apache.myfaces.shared_tomahawk.renderkit.html.HtmlTableRendererBase
Throws:
IOException
See Also:
HtmlTableRendererBase.encodeBegin(javax.faces.context.FacesContext, javax.faces.component.UIComponent)

encodeChildren

public void encodeChildren(javax.faces.context.FacesContext facesContext,
                           javax.faces.component.UIComponent component)
                    throws IOException
Overrides:
encodeChildren in class org.apache.myfaces.shared_tomahawk.renderkit.html.HtmlTableRendererBase
Throws:
IOException
See Also:
HtmlTableRendererBase.encodeChildren(javax.faces.context.FacesContext, javax.faces.component.UIComponent)

beforeBody

protected void beforeBody(javax.faces.context.FacesContext facesContext,
                          javax.faces.component.UIData uiData)
                   throws IOException
Overrides:
beforeBody in class org.apache.myfaces.shared_tomahawk.renderkit.html.HtmlTableRendererBase
Throws:
IOException

collectChildrenValues

protected void collectChildrenValues(List container,
                                     Iterator iterChildren)

isListEqual

protected boolean isListEqual(List list1,
                              List list2)
checks if the contenta of both lists are the same.
Notice: In case both lists are null or empty they are considered NOT being equal


encodeEnd

public void encodeEnd(javax.faces.context.FacesContext facesContext,
                      javax.faces.component.UIComponent uiComponent)
               throws IOException
Overrides:
encodeEnd in class org.apache.myfaces.shared_tomahawk.renderkit.html.HtmlTableRendererBase
Throws:
IOException
See Also:
HtmlTableRendererBase.encodeEnd(javax.faces.context.FacesContext, javax.faces.component.UIComponent)

renderRowStart

protected void renderRowStart(javax.faces.context.FacesContext facesContext,
                              javax.faces.context.ResponseWriter writer,
                              javax.faces.component.UIData uiData,
                              org.apache.myfaces.shared_tomahawk.renderkit.html.HtmlTableRendererBase.Styles styles,
                              int rowStyleIndex)
                       throws IOException
Overrides:
renderRowStart in class org.apache.myfaces.shared_tomahawk.renderkit.html.HtmlTableRendererBase
Throws:
IOException

renderRowStyle

protected void renderRowStyle(javax.faces.context.FacesContext facesContext,
                              javax.faces.context.ResponseWriter writer,
                              javax.faces.component.UIData uiData,
                              org.apache.myfaces.shared_tomahawk.renderkit.html.HtmlTableRendererBase.Styles styles,
                              int rowStyleIndex)
                       throws IOException
Overrides:
renderRowStyle in class org.apache.myfaces.shared_tomahawk.renderkit.html.HtmlTableRendererBase
Throws:
IOException
See Also:
HtmlTableRendererBase.renderRowStyle(javax.faces.context.FacesContext, javax.faces.context.ResponseWriter, javax.faces.component.UIData, org.apache.myfaces.shared_tomahawk.renderkit.html.HtmlTableRendererBase.Styles, int)

renderRowAttribute

protected void renderRowAttribute(javax.faces.context.ResponseWriter writer,
                                  String htmlAttribute,
                                  Object value)
                           throws IOException
Throws:
IOException

encodeColumnChild

protected void encodeColumnChild(javax.faces.context.FacesContext facesContext,
                                 javax.faces.context.ResponseWriter writer,
                                 javax.faces.component.UIData uiData,
                                 javax.faces.component.UIComponent component,
                                 org.apache.myfaces.shared_tomahawk.renderkit.html.HtmlTableRendererBase.Styles styles,
                                 int columnStyleIndex)
                          throws IOException
Render the specified column object using the current row data.

When the component is a UIColumn object, the inherited method is invoked to render a single table cell.

In addition to the inherited functionality, support is implemented here for UIColumns children. When a UIColumns child is encountered:

 For each dynamic column in that UIColumns child:
   * Select the column (which sets variable named by the var attribute
     to refer to the current column object)
   * Call this.renderColumnBody passing the UIColumns object.
 
The renderColumnBody method eventually: If the children of the UIColumns access the variable named by the var attribute on the UIColumns object, then they end up rendering content that is extracted from the current column object.

Overrides:
encodeColumnChild in class org.apache.myfaces.shared_tomahawk.renderkit.html.HtmlTableRendererBase
Throws:
IOException
See Also:
HtmlTableRendererBase.encodeColumnChild(javax.faces.context.FacesContext, javax.faces.context.ResponseWriter, javax.faces.component.UIData, javax.faces.component.UIComponent, org.apache.myfaces.shared_tomahawk.renderkit.html.HtmlTableRendererBase.Styles, int)

renderColumnBody

protected void renderColumnBody(javax.faces.context.FacesContext facesContext,
                                javax.faces.context.ResponseWriter writer,
                                javax.faces.component.UIData uiData,
                                javax.faces.component.UIComponent component,
                                org.apache.myfaces.shared_tomahawk.renderkit.html.HtmlTableRendererBase.Styles styles,
                                int columnStyleIndex)
                         throws IOException
Overrides:
renderColumnBody in class org.apache.myfaces.shared_tomahawk.renderkit.html.HtmlTableRendererBase
Throws:
IOException
See Also:
HtmlTableRendererBase.renderColumnBody(javax.faces.context.FacesContext, javax.faces.context.ResponseWriter, javax.faces.component.UIData, javax.faces.component.UIComponent, org.apache.myfaces.shared_tomahawk.renderkit.html.HtmlTableRendererBase.Styles, int)

renderColumnChildHeaderOrFooterRow

protected void renderColumnChildHeaderOrFooterRow(javax.faces.context.FacesContext facesContext,
                                                  javax.faces.context.ResponseWriter writer,
                                                  javax.faces.component.UIComponent uiComponent,
                                                  String styleClass,
                                                  boolean header)
                                           throws IOException
Render the header or footer of the specified column object.

When the component is a UIColumn object, the inherited method is invoked to render a single header cell.

In addition to the inherited functionality, support is implemented here for UIColumns children. When a UIColumns child is encountered:

 For each dynamic column in that UIColumns child:
   * Select the column (which sets variable named by the var attribute
     to refer to the current column object)
   * Call this.renderColumnHeaderCell or this.renderColumnFooterCell
     passing the header or footer facet of the UIColumns object.
 
If the facet of the UIColumns accesses the variable named by the var attribute on the UIColumns object, then it ends up rendering content that is extracted from the current column object.

Overrides:
renderColumnChildHeaderOrFooterRow in class org.apache.myfaces.shared_tomahawk.renderkit.html.HtmlTableRendererBase
Throws:
IOException
See Also:
HtmlTableRendererBase.renderColumnChildHeaderOrFooterRow(javax.faces.context.FacesContext, javax.faces.context.ResponseWriter, javax.faces.component.UIComponent, java.lang.String, boolean)

renderColumnHeaderCell

protected void renderColumnHeaderCell(javax.faces.context.FacesContext facesContext,
                                      javax.faces.context.ResponseWriter writer,
                                      javax.faces.component.UIComponent uiComponent,
                                      javax.faces.component.UIComponent facet,
                                      String headerStyleClass,
                                      int colspan)
                               throws IOException
Overrides:
renderColumnHeaderCell in class org.apache.myfaces.shared_tomahawk.renderkit.html.HtmlTableRendererBase
Throws:
IOException
See Also:
HtmlTableRendererBase.renderColumnHeaderCell(javax.faces.context.FacesContext, javax.faces.context.ResponseWriter, javax.faces.component.UIComponent, javax.faces.component.UIComponent, java.lang.String, int)

renderColumnFooterCell

protected void renderColumnFooterCell(javax.faces.context.FacesContext facesContext,
                                      javax.faces.context.ResponseWriter writer,
                                      javax.faces.component.UIComponent uiComponent,
                                      javax.faces.component.UIComponent facet,
                                      String footerStyleClass,
                                      int colspan)
                               throws IOException
Overrides:
renderColumnFooterCell in class org.apache.myfaces.shared_tomahawk.renderkit.html.HtmlTableRendererBase
Throws:
IOException
See Also:
HtmlTableRendererBase.renderColumnFooterCell(javax.faces.context.FacesContext, javax.faces.context.ResponseWriter, javax.faces.component.UIComponent, javax.faces.component.UIComponent, java.lang.String, int)

renderHtmlColumnAttributes

protected void renderHtmlColumnAttributes(javax.faces.context.ResponseWriter writer,
                                          javax.faces.component.UIComponent uiComponent,
                                          String prefix)
                                   throws IOException
Throws:
IOException

determineChildColSpan

protected int determineChildColSpan(javax.faces.component.UIComponent uiComponent)
Return the number of columns spanned by the specified component.

For normal components, use the inherited implementation. For UIColumns children, return the number of dynamic columns rendered by that child.

Overrides:
determineChildColSpan in class org.apache.myfaces.shared_tomahawk.renderkit.html.HtmlTableRendererBase
See Also:
#determineChildColSpan(javax.faces.component.UIComponent)

hasFacet

protected boolean hasFacet(boolean header,
                           javax.faces.component.UIComponent uiComponent)
Return true if the specified component has a facet that needs to be rendered in a THEAD or TFOOT section.

Overrides:
hasFacet in class org.apache.myfaces.shared_tomahawk.renderkit.html.HtmlTableRendererBase
See Also:
HtmlTableRendererBase.hasFacet(boolean, javax.faces.component.UIComponent)

renderColumnFooterRow

protected void renderColumnFooterRow(javax.faces.context.FacesContext facesContext,
                                     javax.faces.context.ResponseWriter writer,
                                     javax.faces.component.UIComponent component,
                                     String footerStyleClass)
                              throws IOException
Renders the column footer. Rendering will be supressed if all of the facets have rendered="false"

Overrides:
renderColumnFooterRow in class org.apache.myfaces.shared_tomahawk.renderkit.html.HtmlTableRendererBase
Throws:
IOException

renderColumnHeaderRow

protected void renderColumnHeaderRow(javax.faces.context.FacesContext facesContext,
                                     javax.faces.context.ResponseWriter writer,
                                     javax.faces.component.UIComponent component,
                                     String headerStyleClass)
                              throws IOException
Renders the column header. Rendering will be supressed if all of the facets have rendered="false"

Overrides:
renderColumnHeaderRow in class org.apache.myfaces.shared_tomahawk.renderkit.html.HtmlTableRendererBase
Throws:
IOException

determineRenderFacet

protected boolean determineRenderFacet(javax.faces.component.UIComponent component,
                                       boolean header)
determine if the header or footer should be rendered.


beforeColumn

protected void beforeColumn(javax.faces.context.FacesContext facesContext,
                            javax.faces.component.UIData uiData,
                            int columnIndex)
                     throws IOException
Overrides:
beforeColumn in class org.apache.myfaces.shared_tomahawk.renderkit.html.HtmlTableRendererBase
Throws:
IOException

beforeColumnHeaderOrFooter

protected void beforeColumnHeaderOrFooter(javax.faces.context.FacesContext facesContext,
                                          javax.faces.component.UIData uiData,
                                          boolean header,
                                          int columnIndex)
                                   throws IOException
Overrides:
beforeColumnHeaderOrFooter in class org.apache.myfaces.shared_tomahawk.renderkit.html.HtmlTableRendererBase
Throws:
IOException

putSortedReqScopeParam

protected void putSortedReqScopeParam(javax.faces.context.FacesContext facesContext,
                                      org.apache.myfaces.component.html.ext.HtmlDataTable dataTable,
                                      int columnIndex)

amISpannedOver

protected boolean amISpannedOver(String prefix,
                                 javax.faces.component.UIComponent component)
specify if the header, footer or is spanned over (not shown) because of a colspan in a cell in a previous column

Parameters:
prefix - header, footer or null
component -

inBodyStart

protected void inBodyStart(javax.faces.context.FacesContext facesContext,
                           javax.faces.component.UIData uiData)
                    throws IOException
Perform any operations necessary in the TBODY start tag.

Overrides:
inBodyStart in class org.apache.myfaces.shared_tomahawk.renderkit.html.HtmlTableRendererBase
Parameters:
facesContext - the FacesContext.
uiData - the UIData being rendered.
Throws:
IOException


Copyright © 2012 The Apache Software Foundation. All Rights Reserved.