org.zkoss.zk.ui.render
Interface ComponentRenderer

All Known Implementing Classes:
AppletDefault, AreaDefault, AudioDefault, AuxheadDefault, AuxheaderDefault, Bandbox2Default, BandpopupDefault, Borderlayout2Default, BoxHorizontal, BoxVertical, Button2Default, ButtonOS, CalendarDefault, CaptionDefault, CheckboxDefault, ColumnchildrenDefault, ColumnDefault, ColumnlayoutDefault, ColumnsDefault, Combobox2Default, ComboitemDefault, Datebox2Default, DecimalboxDefault, DetailDefault, DivDefault, DoubleboxDefault, FileuploadDefault, FisheyebarDefault, FisheyeDefault, FlashDefault, FootDefault, FooterDefault, GridDefault, GridPaging, Groupbox23d, GroupboxDefault, GroupDefault, GroupfootDefault, HtmlDefault, IframeDefault, ImageDefault, ImagemapDefault, IntboxDefault, JasperreportDefault, LabelDefault, Layoutregion2Default, ListboxDefault, ListboxPaging, ListboxSelect, ListcellDefault, ListfootDefault, ListfooterDefault, ListgroupDefault, ListgroupfootDefault, ListheadDefault, ListheaderDefault, ListitemDefault, LongboxDefault, MacroDefault, Menu2Default, Menubar2Horizontal, Menubar2Vertical, Menuitem2Default, Menupopup2Default, Menuseparator2Default, PagingDefault, PagingOS, PanelchildrenDefault, PanelDefault, PopupDefault, PortalchildrenDefault, PortallayoutDefault, ProgressmeterDefault, RadioDefault, RadiogroupDefault, RowDefault, RowsDefault, SeparatorDefault, Slider2Default, Slider2Scale, SpanDefault, SpinnerDefault, SplitterDefault, StyleDefault, Tab2Default, Tab2DefaultV, Tabbox2Accordion, Tabbox2Default, Tabbox2DefaultV, TablechildrenDefault, TablelayoutDefault, Tabpanel2Accordion, Tabpanel2Default, Tabpanel2DefaultV, Tabpanels2Default, Tabpanels2DefaultV, Tabs2Default, Tabs2DefaultV, TextboxDefault, Timebox2Default, TimerDefault, ToolbarbuttonDefault, ToolbarDefault, ToolbarpanelDefault, TreecellDefault, TreechildrenDefault, TreecolDefault, TreecolsDefault, TreeDefault, TreefootDefault, TreefooterDefault, TreeitemDefault, TreePaging, TreerowDefault, Window2Default

public interface ComponentRenderer

A component renderer is used to render a component. In addition to DSP, JSP and other Servlet, a component can be rendered by use of a ComponentRenderer instance.

When AbstractComponent.redraw(java.io.Writer) is called, it retrieves the mold URI by calling AbstractComponent.getMoldURI(). Then, it returns either an URI or a ComponentRenderer instance. If URI, the component is rendered by use of Execution.include(java.io.Writer, java.lang.String, java.util.Map, int). If ComponentRenderer, render(org.zkoss.zk.ui.Component, java.io.Writer) is called directly.

Note: an instance of ComponentRenderer is shared among all components of associated types.

The use of ComponentRenderer is mainly to speed up the performance.

Author:
tomyeh
See Also:
Component.redraw(java.io.Writer), AbstractComponent.redraw(java.io.Writer)

Method Summary
 void render(Component comp, java.io.Writer out)
          Redraws a component.
 

Method Detail

render

void render(Component comp,
            java.io.Writer out)
            throws java.io.IOException
Redraws a component.

Parameters:
comp - the component (never null).
out - the writer to generate the output (never null).
Throws:
java.io.IOException


Copyright © 2005-2009 Potix Corporation. All Rights Reserved.