taskseriescollection.java

来自「JfreeChart 常用图表例子」· Java 代码 · 共 619 行 · 第 1/2 页

JAVA
619
字号
    /**     * Returns the start value for a task.     *     * @param rowKey  the series.     * @param columnKey  the category.     *     * @return The start value.     */    public Number getStartValue(Comparable rowKey, Comparable columnKey) {        Number result = null;        int row = getRowIndex(rowKey);        TaskSeries series = (TaskSeries) this.data.get(row);        Task task = series.get(columnKey.toString());        if (task != null) {            TimePeriod duration = task.getDuration();            result = new Long(duration.getStart().getTime());        }        return result;    }    /**     * Returns the start value for a task.     *     * @param row  the row index (zero-based).     * @param column  the column index (zero-based).     *     * @return The start value.     */    public Number getStartValue(int row, int column) {        Comparable rowKey = getRowKey(row);        Comparable columnKey = getColumnKey(column);        return getStartValue(rowKey, columnKey);    }    /**     * Returns the end value for a task.     *     * @param rowKey  the series.     * @param columnKey  the category.     *     * @return The end value.     */    public Number getEndValue(Comparable rowKey, Comparable columnKey) {        Number result = null;        int row = getRowIndex(rowKey);        TaskSeries series = (TaskSeries) this.data.get(row);        Task task = series.get(columnKey.toString());        if (task != null) {            TimePeriod duration = task.getDuration();            result = new Long(duration.getEnd().getTime());        }        return result;    }    /**     * Returns the end value for a task.     *     * @param row  the row index (zero-based).     * @param column  the column index (zero-based).     *     * @return The end value.     */    public Number getEndValue(int row, int column) {        Comparable rowKey = getRowKey(row);        Comparable columnKey = getColumnKey(column);        return getEndValue(rowKey, columnKey);    }    /**     * Returns the percent complete for a given item.     *     * @param row  the row index (zero-based).     * @param column  the column index (zero-based).     *     * @return The percent complete (possibly <code>null</code>).     */    public Number getPercentComplete(int row, int column) {        Comparable rowKey = getRowKey(row);        Comparable columnKey = getColumnKey(column);        return getPercentComplete(rowKey, columnKey);    }    /**     * Returns the percent complete for a given item.     *     * @param rowKey  the row key.     * @param columnKey  the column key.     *     * @return The percent complete.     */    public Number getPercentComplete(Comparable rowKey, Comparable columnKey) {        Number result = null;        int row = getRowIndex(rowKey);        TaskSeries series = (TaskSeries) this.data.get(row);        Task task = series.get(columnKey.toString());        if (task != null) {            result = task.getPercentComplete();        }        return result;    }    /**     * Returns the number of sub-intervals for a given item.     *     * @param row  the row index (zero-based).     * @param column  the column index (zero-based).     *     * @return The sub-interval count.     */    public int getSubIntervalCount(int row, int column) {        Comparable rowKey = getRowKey(row);        Comparable columnKey = getColumnKey(column);        return getSubIntervalCount(rowKey, columnKey);    }    /**     * Returns the number of sub-intervals for a given item.     *     * @param rowKey  the row key.     * @param columnKey  the column key.     *     * @return The sub-interval count.     */    public int getSubIntervalCount(Comparable rowKey, Comparable columnKey) {        int result = 0;        int row = getRowIndex(rowKey);        TaskSeries series = (TaskSeries) this.data.get(row);        Task task = series.get(columnKey.toString());        if (task != null) {            result = task.getSubtaskCount();        }        return result;    }    /**     * Returns the start value of a sub-interval for a given item.     *     * @param row  the row index (zero-based).     * @param column  the column index (zero-based).     * @param subinterval  the sub-interval index (zero-based).     *     * @return The start value (possibly <code>null</code>).     */    public Number getStartValue(int row, int column, int subinterval) {        Comparable rowKey = getRowKey(row);        Comparable columnKey = getColumnKey(column);        return getStartValue(rowKey, columnKey, subinterval);    }    /**     * Returns the start value of a sub-interval for a given item.     *     * @param rowKey  the row key.     * @param columnKey  the column key.     * @param subinterval  the subinterval.     *     * @return The start value (possibly <code>null</code>).     */    public Number getStartValue(Comparable rowKey, Comparable columnKey,                                 int subinterval) {        Number result = null;        int row = getRowIndex(rowKey);        TaskSeries series = (TaskSeries) this.data.get(row);        Task task = series.get(columnKey.toString());        if (task != null) {            Task sub = task.getSubtask(subinterval);            if (sub != null) {                TimePeriod duration = sub.getDuration();                result = new Long(duration.getStart().getTime());            }        }        return result;    }    /**     * Returns the end value of a sub-interval for a given item.     *     * @param row  the row index (zero-based).     * @param column  the column index (zero-based).     * @param subinterval  the subinterval.     *     * @return The end value (possibly <code>null</code>).     */    public Number getEndValue(int row, int column, int subinterval) {        Comparable rowKey = getRowKey(row);        Comparable columnKey = getColumnKey(column);        return getEndValue(rowKey, columnKey, subinterval);    }    /**     * Returns the end value of a sub-interval for a given item.     *     * @param rowKey  the row key.     * @param columnKey  the column key.     * @param subinterval  the subinterval.     *     * @return The end value (possibly <code>null</code>).     */    public Number getEndValue(Comparable rowKey, Comparable columnKey,                               int subinterval) {        Number result = null;        int row = getRowIndex(rowKey);        TaskSeries series = (TaskSeries) this.data.get(row);        Task task = series.get(columnKey.toString());        if (task != null) {            Task sub = task.getSubtask(subinterval);            if (sub != null) {                TimePeriod duration = sub.getDuration();                result = new Long(duration.getEnd().getTime());            }        }        return result;    }    /**     * Returns the percentage complete value of a sub-interval for a given item.     *     * @param row  the row index (zero-based).     * @param column  the column index (zero-based).     * @param subinterval  the sub-interval.     *     * @return The percent complete value (possibly <code>null</code>).     */    public Number getPercentComplete(int row, int column, int subinterval) {        Comparable rowKey = getRowKey(row);        Comparable columnKey = getColumnKey(column);        return getPercentComplete(rowKey, columnKey, subinterval);    }    /**     * Returns the percentage complete value of a sub-interval for a given item.     *     * @param rowKey  the row key.     * @param columnKey  the column key.     * @param subinterval  the sub-interval.     *     * @return The precent complete value (possibly <code>null</code>).     */    public Number getPercentComplete(Comparable rowKey, Comparable columnKey,                                      int subinterval) {        Number result = null;        int row = getRowIndex(rowKey);        TaskSeries series = (TaskSeries) this.data.get(row);        Task task = series.get(columnKey.toString());        if (task != null) {            Task sub = task.getSubtask(subinterval);            if (sub != null) {                result = sub.getPercentComplete();            }        }        return result;    }    /**     * Called when a series belonging to the dataset changes.     *     * @param event  information about the change.     */    public void seriesChanged(SeriesChangeEvent event) {        refreshKeys();        fireDatasetChanged();    }    /**     * Refreshes the keys.     */    private void refreshKeys() {        this.keys.clear();        for (int i = 0; i < getSeriesCount(); i++) {            TaskSeries series = (TaskSeries) this.data.get(i);            // look for any keys that we don't already know about...            Iterator iterator = series.getTasks().iterator();            while (iterator.hasNext()) {                Task task = (Task) iterator.next();                String key = task.getDescription();                int index = this.keys.indexOf(key);                if (index < 0) {                    this.keys.add(key);                }            }        }    }        /**     * Tests this instance for equality with an arbitrary object.     *      * @param obj  the object (<code>null</code> permitted).     *      * @return A boolean.     */    public boolean equals(Object obj) {        if (obj == this) {            return true;        }        if (!(obj instanceof TaskSeriesCollection)) {            return false;        }        TaskSeriesCollection that = (TaskSeriesCollection) obj;        if (!ObjectUtilities.equal(this.data, that.data)) {            return false;        }        return true;    }}

⌨️ 快捷键说明

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