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

📄 gantttaskrelationship.java

📁 It is all about project scheduling. GanttProject is a tool for creating a project schedule by means
💻 JAVA
字号:
package net.sourceforge.ganttproject;import net.sourceforge.ganttproject.task.Task;import net.sourceforge.ganttproject.task.TaskManager;/** * <p> * Title: * </p> * <p> * Description: This class model the four relationships between different tasks. * <p> * Start-start: As soon as the predecessor task starts, the successor task can * start. * </p> * <p> * start to finish: As soon as the predecessor task starts, the successor task * can finish. This type of link is rarely used, but still available if you need * it. * </p> * <p> * finish to start relationship: As soon as the predecessor task finishes, the * successor task can start * </p> * <p> * finish to finish relationship: As soon as the predecessor task finishes, the * successor task can finish * </p> * </p> */public class GanttTaskRelationship {    public static final int SS = 1; // start to start    public static final int FS = 2; // Finish to start    public static final int FF = 3; // Finish to finish    public static final int SF = 4; // start to finsih    // private GanttTask predecessorTask; //predecessor;    // private GanttTask successorTask; //successor;    private int predecessorTaskID = -1;    private int successorTaskID = -1;    private int relationshipType;    private int difference;    private final TaskManager myTaskManager;    /** Constructor, do nothing */    public GanttTaskRelationship() {        this(null);    }    public GanttTaskRelationship(TaskManager taskManager) {        myTaskManager = taskManager;    }    /** Constructor */    public GanttTaskRelationship(int predecessorTaskID, int successorTaskID,            int relationshipType, int difference, TaskManager taskManager) {        this(taskManager);        this.predecessorTaskID = predecessorTaskID;        this.successorTaskID = successorTaskID;        this.relationshipType = relationshipType;        this.difference = difference;    }    // getters and setters    /** get the predecessor task */    public GanttTask getPredecessorTask() {        if (predecessorTaskID != -1) {            return getManager().getTask(predecessorTaskID);        } else {            return null;        }    }    /** get the predecessor task ID or -1 if there is no such ID */    public int getPredecessorTaskID() {        return predecessorTaskID;    }    /** set the predecessor task by GanttTask object */    public void setPredecessorTask(Task predecessorTask) {        this.predecessorTaskID = predecessorTask.getTaskID();        // this.predecessorTask=predecessorTask;    }    /**     * set the predecessor task ID by integer     *      * @param predecessorTaskID     *            ID of predecessor task     */    public void setPredecessorTask(int predecessorTaskID) {        this.predecessorTaskID = predecessorTaskID;    }    /** get the successor task */    public Task getSuccessorTask() {        if (successorTaskID != -1) {            return getManager().getTask(successorTaskID);        } else {            return null;        }    }    /**     * @return id of successor task     */    public int getSuccessorTaskID() {        return successorTaskID;    }    /**     * set the successor task by GanttTask object     *      * @param successorTask     *            GanttTask object of successor     */    public void setSuccessorTask(Task successorTask) {        this.successorTaskID = successorTask.getTaskID();        // this.successorTask = successorTask;    }    /**     * set the successor task ID by the integer     *      * @param seccessorTaskID     *            id of the successor     */    public void setSuccessorTask(int seccessorTaskID) {        this.successorTaskID = seccessorTaskID;    }    /** get the relationship type */    public int getRelationshipType() {        return relationshipType;    }    /** get the difference */    public int getDifference() {        return difference;    }    /** set the relationship type */    public void setRelationshipType(int relationshipType) {        this.relationshipType = relationshipType;    }    public boolean equals(GanttTaskRelationship compareRel) {        return relationshipType == compareRel.relationshipType                && predecessorTaskID == compareRel.predecessorTaskID                && successorTaskID == compareRel.successorTaskID;    }    public Object clone() {        GanttTaskRelationship copyRel = new GanttTaskRelationship(myTaskManager);        copyRel.relationshipType = relationshipType;        copyRel.predecessorTaskID = predecessorTaskID;        copyRel.successorTaskID = successorTaskID;        return copyRel;    }    public String toString() {        String res = "Relation ";        res += (relationshipType == SS) ? "(SS) "                : (relationshipType == SF) ? "(SF) "                        : (relationshipType == FS) ? "(FS) " : "(FF) ";        res += getSuccessorTask() + " (" + getSuccessorTaskID() + ") "                + getPredecessorTask() + " (" + getPredecessorTaskID() + ")";        return res;    }    private TaskManager getManager() {        return myTaskManager;    }}

⌨️ 快捷键说明

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