package net.johnewart.gearman.common.client;
import net.johnewart.gearman.common.JobStatus;
import net.johnewart.gearman.common.events.GearmanClientEventListener;
import net.johnewart.gearman.common.interfaces.GearmanClient;
import java.util.HashSet;
import java.util.Set;
public abstract class AbstractGearmanClient implements GearmanClient {
protected final Set<GearmanClientEventListener> gearmanClientEventListenerSet;
protected AbstractGearmanClient() {
gearmanClientEventListenerSet = new HashSet<>();
}
@Override
public void registerEventListener(GearmanClientEventListener listener) {
gearmanClientEventListenerSet.add(listener);
}
protected void handleWorkData(final String jobHandle, final byte[] data) {
for(GearmanClientEventListener el : gearmanClientEventListenerSet) {
el.handleWorkData(jobHandle, data);
}
}
protected void handleWorkWarning(final String jobHandle, final byte[] warning) {
for(GearmanClientEventListener el : gearmanClientEventListenerSet) {
el.handleWorkWarning(jobHandle, warning);
}
}
protected void handleWorkStatus(final String jobHandle, final JobStatus jobStatus) {
for(GearmanClientEventListener el : gearmanClientEventListenerSet) {
el.handleWorkStatus(jobHandle, jobStatus);
}
}
}