package com.breakersoft.plow.dao; import java.util.List; import java.util.Map; import java.util.UUID; import com.breakersoft.plow.FrameRange; import com.breakersoft.plow.Job; import com.breakersoft.plow.Layer; import com.breakersoft.plow.Task; import com.breakersoft.plow.thrift.TaskFilterT; import com.breakersoft.plow.thrift.TaskSpecT; import com.breakersoft.plow.thrift.TaskState; public interface TaskDao { Task create(Layer layer, String name, int number, int frameOrder, int layerOrder, int minRam); Task get(Layer layer, int number); Task get(UUID id); boolean updateState(Task task, TaskState currentState, TaskState newState); Task getByNameOrId(Job job, String identifer); void clearLastLogLine(Task task); List<Task> getTasks(TaskFilterT filter); boolean setTaskState(Task task, TaskState newState); boolean setTaskState(Task task, TaskState newState, TaskState oldState); void batchCreate(Layer layer, FrameRange frameRange, int layerOrder, int minRam); void batchCreate(Layer layer, List<TaskSpecT> tasks, int layerOrder, int minRam); Map<Integer, UUID> buildTaskCache(Layer layer, int size); }