Package org.zkoss.zk.ui.sys
Interface ContentRenderer
- All Known Implementing Classes:
JsContentRenderer,JSCumulativeContentRenderer,XmlContentRenderer
public interface ContentRenderer
Used with
AbstractComponent.renderProperties(org.zkoss.zk.ui.sys.ContentRenderer)
to generate the component content that will be sent to the client.- Since:
- 5.0.0
- Author:
- tomyeh
-
Method Summary
Modifier and TypeMethodDescriptionvoidRenders a boolean property.voidRenders a byte property.voidRenders a char property.voidRenders a double property.voidRenders a float property.voidRenders an integer property.voidRenders a long property.voidRenders a short property.voidRenders an arbitrary object property.voidRenders a string property.voidRenders a Date property.voidrenderClientAttributes(Map<String, String> attrs) Renders the client's DOM attributes for the peer widgets.voidrenderDirectly(String name, Object value) Renders the value directly without encapsulation or conversion.voidrenderWidgetListeners(Map<String, String> listeners) Renders the client code snippet for event listeners registered for the peer widget.voidrenderWidgetOverrides(Map<String, String> overrides) Renders the client code snippet to override the methods and properties of the peer widget.
-
Method Details
-
render
Renders a string property.- Throws:
IOException
-
render
Renders a Date property.- Throws:
IOException
-
render
Renders an arbitrary object property. What type of supported objects depends on the implementation. However, the following types are always supported: null, String, Date, the wrapper of primitives, an array of the above types, and a map of the above types.If the object is an instance of
JSONAware,JSONAware.toJSONString()will be called, and the return will be generated directly. In other word, it is the same asrenderDirectly(name, value.toJSONString()).If the value is not recognized, it will be converted to a string by use of Object.toString(). It the client's job to convert the string back to the correct object.
- Throws:
IOException
-
render
Renders an integer property.- Throws:
IOException
-
render
Renders a short property.- Throws:
IOException
-
render
Renders a long property.- Throws:
IOException
-
render
Renders a byte property.- Throws:
IOException
-
render
Renders a boolean property.- Throws:
IOException
-
render
Renders a double property.- Throws:
IOException
-
render
Renders a float property.- Throws:
IOException
-
render
Renders a char property.- Throws:
IOException
-
renderDirectly
Renders the value directly without encapsulation or conversion. It depends on the implementation. ForJsContentRenderer, value must be a valid JavaScript snippet. -
renderWidgetListeners
Renders the client code snippet for event listeners registered for the peer widget.- Parameters:
listeners- the map of listeners to register at the peer widget. The key is the event name (such as onClick), and the value the code snippet (such asthis.getFellow('inf').setValue('new')). They are both String instances.
-
renderWidgetOverrides
Renders the client code snippet to override the methods and properties of the peer widget.- Parameters:
overrides- the map of methods or properties to override the peer widget. The key is the method name (such as setValue), and the value must be a valid JavaScript snippet that can be evaluated to a value. They are both instances of String. For example, the map will be generated as follows byJsContentRenderer:
{name1: value1, name2: value2}.
-
renderClientAttributes
Renders the client's DOM attributes for the peer widgets.- Parameters:
attrs- the map of attributes. The key is the attribute's name, while the value is the attribute's value. They are both instances of String.- Since:
- 8.0.0
-