⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 finishstartconstraintimpl.java

📁 It is all about project scheduling. GanttProject is a tool for creating a project schedule by means
💻 JAVA
字号:
package net.sourceforge.ganttproject.task.dependency.constraint;import java.util.Date;import net.sourceforge.ganttproject.GanttCalendar;import net.sourceforge.ganttproject.GanttTaskRelationship;import net.sourceforge.ganttproject.language.GanttLanguage;import net.sourceforge.ganttproject.task.Task;import net.sourceforge.ganttproject.task.TaskActivity;import net.sourceforge.ganttproject.task.dependency.TaskDependency;import net.sourceforge.ganttproject.task.dependency.TaskDependencyConstraint;import net.sourceforge.ganttproject.task.dependency.TaskDependency.ActivityBinding;/** * Dependant task starts not earlier than dependee finishes Created by IntelliJ * IDEA. User: bard */public class FinishStartConstraintImpl extends ConstraintImpl implements        TaskDependencyConstraint {    public FinishStartConstraintImpl() {        super(GanttTaskRelationship.FS, GanttLanguage.getInstance().getText(                "finishstart"));    }    public TaskDependencyConstraint.Collision getCollision() {        TaskDependencyConstraint.Collision result = null;        Task dependee = getDependency().getDependee();        Task dependant = getDependency().getDependant();        GanttCalendar dependeeEnd = dependee.getEnd().Clone();        // GanttCalendar dependeeEnd = dependee.getEnd();        GanttCalendar dependantStart = dependant.getStart();        int difference = getDependency().getDifference();        GanttCalendar comparisonDate = dependantStart.Clone();        comparisonDate.add(difference);        boolean isActive = getDependency().getHardness()==TaskDependency.Hardness.RUBBER ? dependeeEnd                .compareTo(comparisonDate) > 0 : dependeeEnd                .compareTo(comparisonDate) != 0;        // new Exception("[FinishStartConstraint] isActive="+isActive+"        // dependdee="+dependee+" end="+dependeeEnd+"        // start="+dependantStart).printStackTrace();        addDelay(dependeeEnd);        result = new TaskDependencyConstraint.DefaultCollision(dependeeEnd,                TaskDependencyConstraint.Collision.START_LATER_VARIATION,                isActive);        return result;    }    public ActivityBinding getActivityBinding() {        TaskActivity[] dependantActivities = getDependency().getDependant()                .getActivities();        TaskActivity[] dependeeActivities = getDependency().getDependee()                .getActivities();        TaskActivity theDependant = dependantActivities[0];        TaskActivity theDependee = dependeeActivities[dependeeActivities.length - 1];        return new DependencyActivityBindingImpl(theDependant, theDependee,                new Date[] { theDependant.getStart(), theDependee.getEnd() });    }}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -