package pl.net.bluesoft.rnd.pt.ext.sched.event;
import org.quartz.Job;
import java.util.HashSet;
import java.util.Set;
/**
* @author: amichalak@bluesoft.net.pl
*/
public abstract class CombinedJobSpecificEventListener extends JobSpecificEventListener<Job> {
private Set<Class<? extends Job>> supportedJobs = new HashSet<Class<? extends Job>>();
protected CombinedJobSpecificEventListener(Set<Class<? extends Job>> supportedJobs) {
super(Job.class);
this.supportedJobs = supportedJobs;
}
protected CombinedJobSpecificEventListener(final Class<? extends Job>... supportedJobs) {
this(new HashSet<Class<? extends Job>>() {{
for (Class<? extends Job> cls : supportedJobs) {
add(cls);
}
}});
}
@Override
protected boolean supports(Class<? extends Job> jobClass) {
for (Class<? extends Job> cls : supportedJobs) {
if (cls.isAssignableFrom(jobClass)) {
return true;
}
}
return false;
}
}