📄 taskseriescollection.java
字号:
* @return The item value.
*/
public Number getValue(Comparable rowKey, Comparable columnKey) {
return getStartValue(rowKey, columnKey);
}
/**
* Returns the value for a task.
*
* @param row the row index (zero-based).
* @param column the column index (zero-based).
*
* @return The start value.
*/
public Number getValue(int row, int column) {
return getStartValue(row, column);
}
/**
* Returns the start value for a task. This is a date/time value, measured
* in milliseconds since 1-Jan-1970.
*
* @param rowKey the series.
* @param columnKey the category.
*
* @return The start value (possibly <code>null</code>).
*/
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();
if (duration != null) {
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. This is a date/time value, measured
* in milliseconds since 1-Jan-1970.
*
* @param rowKey the series.
* @param columnKey the category.
*
* @return The end value (possibly <code>null</code>).
*/
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();
if (duration != null) {
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 + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -