2.17.2: 2011-06-17

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

java.lang.Object
  extended by net.sf.basedb.util.extensions.Registry.RegisteredExtensionPoint<A>
All Implemented Interfaces:
ExtensionPoint<A>
Enclosing class:
Registry

static class Registry.RegisteredExtensionPoint<A extends Action>
extends Object
implements ExtensionPoint<A>

Internal representation of an extension point.


Field Summary
private  Class<A> actionClass
           
private  boolean allowRendererOverride
           
private  String description
           
private  ErrorHandlerFactory<? super A> errorHandlerFactory
           
private  Map<String,Registry.RegisteredExtension<A>> extensions
           
private  String id
           
private  Throwable lastError
           
private  A lastErrorAction
           
private  String name
           
private  RendererFactory<? super A> rendererFactory
           
 
Constructor Summary
Registry.RegisteredExtensionPoint(ExtensionPoint<A> ep)
          Create a new registered extension point by copying the information from the parameter.
 
Method Summary
(package private)  void addExtension(Registry.RegisteredExtension<A> extension)
          Add an extension to this extension point.
 boolean allowRendererOverride()
          If an extension is allowed to override the renderer factory with an implementation of its own.
(package private)  void clearError()
           
 Class<A> getActionClass()
          Get the class object that represents the type of action that can be added to this extension point.
 String getDescription()
          Get a description of the extension point.
 ErrorHandlerFactory<? super A> getErrorHandlerFactory()
          Get the error handler factory that should be used with this extension point.
(package private)  Collection<Registry.RegisteredExtension<A>> getExtensions()
          Get all extensions registered with this extension point.
 String getId()
          Get the ID of the extension point.
(package private)  Throwable getLastError()
           
 String getName()
          Get the name of the extension point.
 RendererFactory<? super A> getRendererFactory()
          This is an optional factory for creating Renderer instances.
(package private)  void removeExtension(String id)
          Remove the extension with a given ID.
(package private)  void setError(A action, Throwable t)
           
 String toString()
           
(package private)  void update(ExtensionPoint<A> ep)
          Update the registered information.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

id

private final String id

actionClass

private final Class<A extends Action> actionClass

extensions

private final Map<String,Registry.RegisteredExtension<A extends Action>> extensions

name

private String name

description

private String description

rendererFactory

private RendererFactory<? super A extends Action> rendererFactory

allowRendererOverride

private boolean allowRendererOverride

errorHandlerFactory

private ErrorHandlerFactory<? super A extends Action> errorHandlerFactory

lastError

private Throwable lastError

lastErrorAction

private A extends Action lastErrorAction
Constructor Detail

Registry.RegisteredExtensionPoint

Registry.RegisteredExtensionPoint(ExtensionPoint<A> ep)
Create a new registered extension point by copying the information from the parameter.

Method Detail

getId

public String getId()
Description copied from interface: ExtensionPoint
Get the ID of the extension point.

Specified by:
getId in interface ExtensionPoint<A extends Action>
Returns:
A non-null unique identifier value

getName

public String getName()
Description copied from interface: ExtensionPoint
Get the name of the extension point. This is just for display purposes and the value is optional. If no name is given the ID can be used instead.

Specified by:
getName in interface ExtensionPoint<A extends Action>

getDescription

public String getDescription()
Description copied from interface: ExtensionPoint
Get a description of the extension point. This value is optional but we recommend that the description contains a text documenting the extension point and has information that is useful for everyone who wants to implement extensions for the extension point. This should include context specific information.

Specified by:
getDescription in interface ExtensionPoint<A extends Action>
Returns:
An optional description

getActionClass

public Class<A> getActionClass()
Description copied from interface: ExtensionPoint
Get the class object that represents the type of action that can be added to this extension point. The class must implement the Action interface. Extensions that are extending this extension point must provide an ActionFactory that is capable of creating instances of the specified class.

Specified by:
getActionClass in interface ExtensionPoint<A extends Action>
Returns:
The class of the actions that can be used on this extension point (required)

getRendererFactory

public RendererFactory<? super A> getRendererFactory()
Description copied from interface: ExtensionPoint
This is an optional factory for creating Renderer instances. Renderers are not a required part of the extension system, but will make it easier to write the code for extension points.

Specified by:
getRendererFactory in interface ExtensionPoint<A extends Action>
Returns:
A renderer factory or null

allowRendererOverride

public boolean allowRendererOverride()
Description copied from interface: ExtensionPoint
If an extension is allowed to override the renderer factory with an implementation of its own. This can be seen as a possibility where extensions can create their own look and feel. If strict compliance is needed overriding should of course not be allowed.

Specified by:
allowRendererOverride in interface ExtensionPoint<A extends Action>
Returns:
TRUE to allow extensions to override, FALSE otherwise

getErrorHandlerFactory

public ErrorHandlerFactory<? super A> getErrorHandlerFactory()
Description copied from interface: ExtensionPoint
Get the error handler factory that should be used with this extension point.

Specified by:
getErrorHandlerFactory in interface ExtensionPoint<A extends Action>
Returns:
An error handler factory, or null to use the system default

toString

public String toString()
Overrides:
toString in class Object

update

void update(ExtensionPoint<A> ep)
Update the registered information.


addExtension

void addExtension(Registry.RegisteredExtension<A> extension)
Add an extension to this extension point.


removeExtension

void removeExtension(String id)
Remove the extension with a given ID.


getExtensions

Collection<Registry.RegisteredExtension<A>> getExtensions()
Get all extensions registered with this extension point.


setError

void setError(A action,
              Throwable t)

clearError

void clearError()

getLastError

Throwable getLastError()

2.17.2: 2011-06-17