org.openbp.common.registry
Class MappingRegistry

java.lang.Object
  extended by org.openbp.common.registry.MappingRegistry

public class MappingRegistry
extends java.lang.Object

Common registry. This class implements an internal registry that holds instances of core sevices. It implements the service locator pattern, that - given an interface - returns the implementation of the service.

Author:
Heiko Erhardt

Constructor Summary
MappingRegistry()
          The constructor.
 
Method Summary
 void addExtender(MappingRegistryExtender extender)
          Adds an extender.
 java.util.Iterator getExtenders()
          Gets the extender list.
 java.lang.Object lookup(java.lang.Class cls)
          Retrieves an object by its class or interface name.
 java.lang.Object lookup(java.lang.String key)
          Retrieves the object that has been registered for the passed key or null if none could be found.
 java.lang.Object lookupMandatory(java.lang.Class cls)
          Retrieves a mandatory object by its class or interface name.
 void register(java.lang.Object object)
          Registers the passed object by its class names (see below).
 void register(java.lang.String key, java.lang.Object object)
          Registers the passed object for the given key.
 void registerByClass(java.lang.Class cls, java.lang.Object object)
          Registers the passed object by its class names and (recursively) by the names of it super classes and implemented interfaces.
 void unregister(java.lang.Object object)
          Unregisters the passed object by its class names (see below).
 void unregisterAll()
          Unregisters all objects.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

MappingRegistry

public MappingRegistry()
The constructor.

Method Detail

lookup

public java.lang.Object lookup(java.lang.String key)
Retrieves the object that has been registered for the passed key or null if none could be found.

Parameters:
key - The key to lookup the object for
Returns:
The object registered for the key or null

register

public void register(java.lang.String key,
                     java.lang.Object object)
Registers the passed object for the given key.

Parameters:
key - The key to register the object for
object - The object to be registered

lookup

public java.lang.Object lookup(java.lang.Class cls)
Retrieves an object by its class or interface name. This method is typically used to retrieve a concrete instance of an interface.

Parameters:
cls - The interface to lookup the implementation for
Returns:
The object registered for the key or null

lookupMandatory

public java.lang.Object lookupMandatory(java.lang.Class cls)
Retrieves a mandatory object by its class or interface name. This method is typically used to retrieve a concrete instance of an interface.

Parameters:
cls - The interface to lookup the implementation for
Returns:
The object registered for the key or null
Throws:
java.lang.RuntimeException - If such an object could not be found

register

public void register(java.lang.Object object)
Registers the passed object by its class names (see below).

Parameters:
object - The object to be registered

registerByClass

public void registerByClass(java.lang.Class cls,
                            java.lang.Object object)
Registers the passed object by its class names and (recursively) by the names of it super classes and implemented interfaces.

Parameters:
cls - The class to use as key
object - The object to be registered

unregister

public void unregister(java.lang.Object object)
Unregisters the passed object by its class names (see below).

Parameters:
object - The object to be registered

unregisterAll

public void unregisterAll()
Unregisters all objects.


getExtenders

public java.util.Iterator getExtenders()
Gets the extender list.

Returns:
An iterator of MappingRegistryExtender objects

addExtender

public void addExtender(MappingRegistryExtender extender)
Adds an extender.

Parameters:
extender - The extender to add


Copyright © 2011. All Rights Reserved.