Using Google Guice

This can be done by creating a Guice module class and adding a corresponding entry in the MODULE table. A Guice module class is created by deriving a class from com.google.guice.AbstractModule and overriding the configure method to add the following statement:

public void configure() {

	MapBinder<String, Method> broadcastEvidenceHookMapBinder
	= MapBinder.newMapBinder(binder(), String.class, Method.class,
	new RegistrarImpl(RegistrarType.EVIDENCE_BROKER));

	 broadcastEvidenceHookMapBinder.addBinding(CASETYPECODE.
	 INTEGRATEDCASE).toInstance(BroadcastEvidenceFactory.class.
	 getMethod(ReflectionConst.kNewInstance, new Class[0]));
	}

Where 'RegistrarType.EVIDENCE_BROKER' is an annotation which is used to differentiate between various registrar maps.

It is not necessary to create a new module for each of such hooks you have to bind. Single module class per component will work well.