// Path: src/main/java/com/indeed/proctor/webapp/extensions/AfterBackgroundJobExecute.java
// public interface AfterBackgroundJobExecute {
//     <T> void afterExecute(final BackgroundJob<T> job, T result);
// }
// 
// Path: src/main/java/com/indeed/proctor/webapp/extensions/BeforeBackgroundJobExecute.java
// public interface BeforeBackgroundJobExecute {
//     <T> void beforeExecute(final BackgroundJob<T> job);
// }


import com.indeed.proctor.webapp.extensions.AfterBackgroundJobExecute;
import com.indeed.proctor.webapp.extensions.BeforeBackgroundJobExecute;
import org.springframework.beans.factory.annotation.Autowired;
import java.util.Collections;
import java.util.List;
package com.indeed.proctor.webapp.jobs;



public class BackgroundJobFactory {
    @Autowired(required = false)
    private List<BeforeBackgroundJobExecute> beforeBackgroundJobExecutes = Collections.emptyList();
    @Autowired(required = false)
// Path: src/main/java/com/indeed/proctor/webapp/extensions/AfterBackgroundJobExecute.java
// public interface AfterBackgroundJobExecute {
//     <T> void afterExecute(final BackgroundJob<T> job, T result);
// }
// 
// Path: src/main/java/com/indeed/proctor/webapp/extensions/BeforeBackgroundJobExecute.java
// public interface BeforeBackgroundJobExecute {
//     <T> void beforeExecute(final BackgroundJob<T> job);
// }


// Path: src/main/java/com/indeed/proctor/webapp/jobs/BackgroundJobFactory.java
import com.indeed.proctor.webapp.extensions.AfterBackgroundJobExecute;
import com.indeed.proctor.webapp.extensions.BeforeBackgroundJobExecute;
import org.springframework.beans.factory.annotation.Autowired;
import java.util.Collections;
import java.util.List;

package com.indeed.proctor.webapp.jobs;



public class BackgroundJobFactory {
    @Autowired(required = false)
    private List<BeforeBackgroundJobExecute> beforeBackgroundJobExecutes = Collections.emptyList();
    @Autowired(required = false)
    private List<AfterBackgroundJobExecute> afterBackgroundJobExecutes = Collections.emptyList();