class JobFactoryRegistrationListener {

	private final Log logger = LogFactory.getLog(getClass());

	private JobRegistry jobRegistry;

	/**
	 * Public setter for a {@link JobRegistry} to use for all the bind and unbind events.
	 * @param jobRegistry {@link JobRegistry}
	 */
	public void setJobRegistry(JobRegistry jobRegistry) {
		this.jobRegistry = jobRegistry;
	}

	/**
	 * Take the {@link JobFactory} provided and register it with the {@link JobRegistry}.
	 * @param jobFactory a {@link JobFactory}
	 * @param params not needed by this listener.
	 * @throws Exception if there is a problem
	 */
	public void bind(JobFactory jobFactory, Map<String, ?> params) throws Exception {
		if (logger.isInfoEnabled()) {
			logger.info("Binding JobFactory: " + jobFactory.getJobName());
		}
		jobRegistry.register(jobFactory);
	}

	/**
	 * Take the provided {@link JobFactory} and unregister it with the
	 * {@link JobRegistry}.
	 * @param jobFactory a {@link JobFactory}
	 * @param params not needed by this listener.
	 * @throws Exception if there is a problem
	 */
	public void unbind(JobFactory jobFactory, Map<String, ?> params) throws Exception {<FILL_FUNCTION_BODY>}

}

		if (logger.isInfoEnabled()) {
			logger.info("Unbinding JobFactory: " + jobFactory.getJobName());
		}
		jobRegistry.unregister(jobFactory.getJobName());
	
<no_super_class>