Renderer

A component can feature concurrently multiple layout and input components (so called renderer), which represent its value in various ways but also allow different kinds of input. Therefore a date can be entered in a text field, selected in a datepicker or chosen in a predefined list. As soon as a renderer is used to set a value, all the other views of a component are updated, thus all renderers represent the same value.

Thru the power of combination renderer can be combined to complex GUI-widgets. The integration of a renderer requires a suitable converter class between the component and the renderer. Since the data type of a component does not always correspond to the needed type of the renderer, a converter will be automatically applied. The name of the converter class is determined due to the type of the component and the generic parameter.

The *FormEngine produces an XHTML code fragment, which can be integrated into a HTML-page at any location. The layout in generated XHTML code could be adjusted via CSS. Furthermore, own renderer can be implemented and integrated to extend the functionality of the forms. The implementation must be affected thread-save as by all other renderers. Parsed renderer instance are suitable in all other form instance embraced in the same definition. Any produced form definition serves a generation and visualization of form instance with low resource and performance effort.