Start page / Plug-In Development / Universal Extensions / Input Components / ContentCreator / Web Gadget (Server)
Web Gadget (Server-Side)
An input component's server-side web gadget is responsible for providing the server-side parts of the ContentCreator gadget, at least providing the web gadget's configuration and the HTML required to display the component's user interface in a ContentCreator form.
Additionally, the web gadget class may provide aspects which are implemented by the same classe or in separate classes. Component developers may choose to implement a number of aspect interfaces provided by FirstSpirit, and which signal to the ContentCreator that the web gadget supports specific central functionality such as editing and storing the component's value data.
The server-side web gadget requires a client-side controller object which provides essential functionality within the ContentCreator user interface (see JavaScript Controller). The name of the controller object is indicated by the method String getControllerName() in the input component's Web Gadget Factory implementation. |
Implementing Standard Web Gadget Functionality
Interface: de.espirit.firstspirit.webedit.server.gadgets.WebPluginGadget
Developer API documentation: WebPluginGadget<C extends Serializable>
The interface WebPluginGadget indicates to FirstSpirit that the implementing class provides an input component user interface.
A web gadget class requires implementation of the following methods:
- public HashMap<String, Serializable> getWidgetConfiguration()
provides gadget-specific configuration information such as the label to display. - public String getView()
provides the HTML which is used to draw the input component's user interface in the using form. - public <T> T getAspect(AspectType<T> aspect)
provides an aspect object matching the requested aspect type if such an object has been registered with the web gadget object. See Gadget Aspects for information about available aspect types.
Parameterization:
- C extends Serializable indicates a type used to transfer component data between the client and server environments and supports serialization, e.g. HashMap<String, Serializable>.
- T must correspond to the component value type used throughout the input component's classes.