/// <summary> /// Call the registered listeners in order, respecting and prioritising those /// that hold an order metadata information. /// </summary> /// <param name="jobExecution"></param> public void BeforeJob(JobExecution jobExecution) { IEnumerator <IJobExecutionListener> enumerator = _listeners.Enumerator(); while (enumerator.MoveNext()) { IJobExecutionListener jobExecutionListener = enumerator.Current; jobExecutionListener.BeforeJob(jobExecution); } }
/// <summary> /// Call the registered listeners in reverse order, respecting and /// prioritising those that hold an order metadata information. /// </summary> /// <param name="jobExecution"></param> public void AfterJob(JobExecution jobExecution) { IEnumerator <IJobExecutionListener> enumerator = _listeners.Reverse(); while (enumerator.MoveNext()) { IJobExecutionListener jobExecutionListener = enumerator.Current; jobExecutionListener.AfterJob(jobExecution); } }
/// <summary> /// Register a single listener for the <see cref="IJobExecutionListener"/> callbacks. /// </summary> /// <param name="listener"></param> public void RegisterJobExecutionListener(IJobExecutionListener listener) { _listener.Register(listener); }
/// <summary> /// Public setter for injecting <see cref="IJobExecutionListener"/>s. /// They will all be given the listener callbacks at the appropriate point in the job. /// </summary> /// <param name="listeners"></param> public void SetJobExecutionListeners(IJobExecutionListener[] listeners) { foreach (IJobExecutionListener jobExecutionListener in listeners) { _listener.Register(jobExecutionListener); } }
/// <summary> /// Registers an additional listener. /// </summary> /// <param name="jobExecutionListener"></param> public void Register(IJobExecutionListener jobExecutionListener) { _listeners.Add(jobExecutionListener); }
/// <summary> /// Method to add a single job execution listener. /// </summary> /// <param name="jobExecutionListener"></param> public void AddJobExecutionListener(IJobExecutionListener jobExecutionListener) { _jobExecutionListeners.Add(jobExecutionListener); }
/// <summary> /// Register a job execution listener. /// </summary> /// <param name="listener"></param> /// <returns></returns> public JobBuilderHelper Listener(IJobExecutionListener listener) { Properties.AddJobExecutionListener(listener); return(this); }
/// <summary> /// Register a job execution listener. /// </summary> /// <param name="listener"></param> /// <returns></returns> public JobBuilderHelper Listener(IJobExecutionListener listener) { Properties.AddJobExecutionListener(listener); return this; }