1 19 20 package taskblocks.modelimpl; 21 22 import taskblocks.ArrayUtils; 23 import taskblocks.graph.TaskGraphModel; 24 25 public class TaskModelImpl implements TaskGraphModel{ 26 27 public TaskImpl[] _tasks; 28 public ManImpl[] _mans; 29 30 public TaskModelImpl(TaskImpl[] tasks, ManImpl[] mans) { 31 _tasks = tasks; 32 _mans = mans; 33 } 34 35 public long getTaskDuration(Object task) { 36 return ((TaskImpl)task).getDuration(); 37 } 38 39 public Object getTaskMan(Object task) { 40 return ((TaskImpl)task).getMan(); 41 } 42 43 public Object [] getTaskPredecessors(Object task) { 44 return ((TaskImpl)task).getPredecessors(); 45 } 46 47 public long getTaskStartTime(Object task) { 48 return ((TaskImpl)task).geSstartTime(); 49 } 50 51 public Object [] getTasks() { 52 return _tasks; 53 } 54 55 public String getTaskName(Object task) { 56 return ((TaskImpl)task).getName(); 57 } 58 59 public static TaskModelImpl createEmptyModel() { 60 return new TaskModelImpl(new TaskImpl[0], new ManImpl[0]); 61 } 62 63 public void updateTask(Object task, Object taskMan, long startTime, long duration, Object [] precedingTasks) { 64 TaskImpl t = (TaskImpl)task; 65 t.setMan((ManImpl)taskMan); 66 t.setStartTime(startTime); 67 t.setDuration(duration); 68 TaskImpl[] preds = new TaskImpl[precedingTasks.length]; 69 for(int i = 0; i < precedingTasks.length; i++) { 70 preds[i] = (TaskImpl)precedingTasks[i]; 71 } 72 t.setPredecessors((TaskImpl[])preds); 73 } 74 75 public String getManName(Object man) { 76 return ((ManImpl)man).getName(); 77 } 78 79 public void addTask(TaskImpl t) { 80 _tasks = (TaskImpl[])ArrayUtils.addToArray(_tasks, t); 81 } 82 83 public void addMan(ManImpl m) { 84 _mans = (ManImpl[])ArrayUtils.addToArray(_mans, m); 85 } 86 87 public Object [] getMans() { 88 return _mans; 89 } 90 91 public void removeMan(Object man) { 92 _mans = (ManImpl[])ArrayUtils.removeFromArray(_mans, man); 93 } 94 95 public void removeTask(Object task) { 96 _tasks = (TaskImpl[])ArrayUtils.removeFromArray(_tasks, task); 97 } 98 } 99 | Popular Tags |