Interface RendererFactory<A extends Action>
- All Known Implementing Classes:
AbstractJspRendererFactory
,CompactButtonRendererFactory
,ToolbarButtonRendererFactory
Renderer
objects. An extension point may provide a default factory
(ExtensionPoint.getRendererFactory()
). If allowed by the
extension point an extension may provide it's own factory
implementation (Extension.getRendererFactory()
.
Renderer factory implementations must be thread-safe, since a single instance of the factory may have to serve multiple requests at the same time.
Note 1! A single factory instance may be used by more than one extension/extension point. This is at the control of the client application.
Note 2! The BASE web-client uses the XmlLoader
to
define extensions. The XmlLoader
always create a
separate factory instance for each extension/extension point.
The XmlLoader
also requires that the factories has
a public no-argument constructor.
- Version:
- 2.7
- Author:
- nicklas
- Last modified
- $Date:2008-03-20 12:15:25 +0100 (Thu, 20 Mar 2008) $
-
Method Summary
Modifier and TypeMethodDescriptiongetRenderer
(InvokationContext<? extends A> context) Get a renderer for a given context.void
prepareContext
(InvokationContext<? extends A> context) This method is called once for each request/use of an extension and should be used by a factory to initialise the context with resources that the actions may need.
-
Method Details
-
prepareContext
This method is called once for each request/use of an extension and should be used by a factory to initialise the context with resources that the actions may need. With the BASE web-client this means that it is possible to add scripts or stylesheets that is needed by the extension. SeeJspContext
.Note! This method has no return value as opposed to
ActionFactory.prepareContext(InvokationContext)
. The simple reason is that once we get to the point of rendering it is already known that the extension is enabled.- Parameters:
context
- The current invokation context
-
getRenderer
Get a renderer for a given context. This method may create a new instance or use an existing instance. If an existing instance is used, it must be thread-safe, since multiple threads may use the same renderer.- Parameters:
context
- The current invokation context- Returns:
- A renderer instance
-