package fr.openwide.core.jpa.more.business.task.util;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import com.google.common.collect.Lists;
public enum TaskStatus {
TO_RUN,
RUNNING,
COMPLETED,
FAILED,
INTERRUPTED, // Utilisé pour indiquer que la tâche est interrompue par arrêt technique de la file ou du serveur (INTERRUPTED != FAILED)
CANCELLED;
public static final List<TaskStatus> CONSUMABLE_TASK_STATUS = Lists.newArrayList(
TaskStatus.TO_RUN,
TaskStatus.RUNNING,
TaskStatus.FAILED,
TaskStatus.INTERRUPTED
);
public static final List<TaskStatus> RELOADABLE_TASK_STATUS = Lists.newArrayList(
TaskStatus.CANCELLED,
TaskStatus.FAILED,
TaskStatus.INTERRUPTED
);
public static final List<TaskStatus> CANCELLABLE_TASK_STATUS = Lists.newArrayList(
TaskStatus.FAILED,
TaskStatus.INTERRUPTED
);
public static List<String> getValuesAsStringList() {
List<TaskStatus> taskStatusList = Arrays.asList(values());
List<String> taskStatusStringList = new ArrayList<String>();
for (TaskStatus taskStatus : taskStatusList) {
taskStatusStringList.add(taskStatus.toString());
}
return taskStatusStringList;
}
}