/* * Created on 18.10.2004 */ package net.sourceforge.ganttproject.task; import java.util.Date; import java.util.List; import biz.ganttproject.core.time.TimeDuration; /** * @author bard */ class TaskActivityImpl implements TaskActivity { private final Date myEndDate; private final Date myStartDate; private final TimeDuration myDuration; private float myIntensity; private final Task myTask; TaskActivityImpl(Task task, Date startDate, Date endDate) { this(task, startDate, endDate, 1.0f); } TaskActivityImpl(Task task, Date startDate, Date endDate, float intensity) { myStartDate = startDate; myEndDate = endDate; myDuration = task.getManager().createLength(task.getDuration().getTimeUnit(), startDate, endDate); myIntensity = intensity; myTask = task; } public Date getStart() { return myStartDate; } public Date getEnd() { return myEndDate; } public TimeDuration getDuration() { return myDuration; } @Override public float getIntensity() { return myIntensity; } @Override public String toString() { return myTask.toString() + "[" + getStart() + ", " + getEnd() + "]"; } public Task getOwner() { return myTask; } @Override public boolean isFirst() { return this == getOwner().getActivities().get(0); } @Override public boolean isLast() { List<TaskActivity> all = getOwner().getActivities(); return this == all.get(all.size() - 1); } }