2.8.3: 2008-10-15

net.sf.basedb.util.extensions
Class ExtensionsInvoker<A extends Action>

java.lang.Object
  extended by net.sf.basedb.util.extensions.ExtensionsInvoker<A>

public class ExtensionsInvoker<A extends Action>
extends Object

Object of this class handles a single invokation of the extensions for one or several extension points. Call Registry.useExtensions(ClientContext, ExtensionsFilter, String...) to create an invoker object. With this object you can iterate() over all actions created by the extensions, or use one of the render methods to render all actions automatically.

The renderDefault() method uses the default render objects registered with the extension points and/or extensions (see ExtensionPoint.getRendererFactory() and Extension.getRendererFactory()). Since the registration of rendering factories are optional, the renderDefault() method only works with extensions that have done so. If an action can't be associated with a renderer, an exception is thrown.

If there is no default rendering factory or if you want to override the default renderer, you can use the render(Renderer) method. This will force the use of the specified renderer for all extensions, ignoring all renderers set by extension points or extensions.

Version:
2.7
Author:
nicklas
Last modified
$Date:2008-03-20 12:15:25 +0100 (Thu, 20 Mar 2008) $

Field Summary
(package private)  Collection<InvokationContext<A>> contexts
           
private static Logger log
           
 
Constructor Summary
ExtensionsInvoker(Collection<InvokationContext<A>> contexts)
          Creates a new invoker object.
 
Method Summary
 ActionIterator<A> iterate()
          Create an iterator that iterates over all Action:s created by the extensions.
 void render(Renderer<A> renderer)
          Render all actions using a specific renderer.
 void renderDefault()
          Render all actions using the renderers created by the default renderer factory as specified by the registered extension points and/or extensions.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

log

private static final Logger log

contexts

final Collection<InvokationContext<A extends Action>> contexts
Constructor Detail

ExtensionsInvoker

ExtensionsInvoker(Collection<InvokationContext<A>> contexts)
Creates a new invoker object.

Method Detail

iterate

public ActionIterator<A> iterate()
Create an iterator that iterates over all Action:s created by the extensions. The iterator may return zero actions if none has been created.

Returns:
An iterator

renderDefault

public void renderDefault()
Render all actions using the renderers created by the default renderer factory as specified by the registered extension points and/or extensions.

See Also:
ExtensionPoint.getRendererFactory(), Extension.getRendererFactory()

render

public void render(Renderer<A> renderer)
Render all actions using a specific renderer. The given renderer will be used even if an extension point has provided a renderer factory and disallowed overriding it.

See Also:
ExtensionPoint.getRendererFactory(), ExtensionPoint.allowRendererOverride()

2.8.3: 2008-10-15