Java Reference
In-Depth Information
Activity t1
#
(Activity) o1;
Activity t2
#
(Activity) o2;
if
(t1.getActivation() > t2.getActivation())
return
1;
if
(t1.getActivation() < t2.getActivation())
return
-1;
return
t1.getName().compareTo(t2.getName());
}
}
private
String name;
private
ArrayList activities
#
new
ArrayList();
private double
gain
#
0.0;
public
Resource(String name) {
this
.name
#
name; }
public
String getName() {
return
name; }
public void
addActivity(Activity activity) {
activities.add(activity);
}
public void
addTask(Task task) {
Iterator iterator
#
task.getActivities();
Activity activity;
while
(iterator.hasNext())
activities.add( (Activity) iterator.next() );
}
public void
setGain(
double
gain) {
this
.gain
#
gain; }
public void
reset() {
Iterator iterator
#
activities.iterator();
Activity activity;
while
(iterator.hasNext()) {
activity
#
(Activity) iterator.next();
activity.reset();
}
}
public void
schedule() {
// updates the activationTime of each activity
for
(
int
i
#
0; i < activities.size(); i
!!
)
((Activity) activities.get(i)).update(gain);
// sorts the list of activities for activationTime
Collections.sort(activities,
new
CompareActivity());
// evaluates the new completionTime of each activity
Activity previous
#
(Activity) activities.get(0);
for
(
int
i
#
1; i < activities.size(); i
!!
) {
Activity activity
#
(Activity) activities.get(i);
activity.serialize(previous);
previous
#
activity;
}
}