Example usage for org.jfree.data.time TimePeriod getEnd

List of usage examples for org.jfree.data.time TimePeriod getEnd

Introduction

In this page you can find the example usage for org.jfree.data.time TimePeriod getEnd.

Prototype

public Date getEnd();

Source Link

Document

Returns the end date/time.

Usage

From source file:org.jfree.data.gantt.XYTaskDataset.java

private double getItemEndValue(int series, int item) {
    TaskSeries s = this.underlying.getSeries(series);
    Task t = s.get(item);/*ww  w .  j  a va2  s  .co  m*/
    TimePeriod duration = t.getDuration();
    Date end = duration.getEnd();
    return end.getTime();
}

From source file:org.jfree.data.gantt.XYTaskDataset.java

private double getItemValue(int series, int item) {
    TaskSeries s = this.underlying.getSeries(series);
    Task t = s.get(item);//from ww w .j  a  v a  2s. c o  m
    TimePeriod duration = t.getDuration();
    Date start = duration.getStart();
    Date end = duration.getEnd();
    return (start.getTime() + end.getTime()) / 2.0;
}

From source file:org.jfree.data.time.TimeTableXYDataset.java

/**
 * Returns the end x-value (as a double primitive) for an item within
 * a series.//  w  ww  .j a v  a  2  s  .  co  m
 *
 * @param series  the series index (zero-based).
 * @param item  the item index (zero-based).
 *
 * @return The value.
 */
@Override
public double getEndXValue(int series, int item) {
    TimePeriod period = (TimePeriod) this.values.getRowKey(item);
    return period.getEnd().getTime();
}

From source file:org.jfree.data.time.TimePeriodValuesCollection.java

/**
 * Returns the range of the values in this dataset's domain.
 *
 * @param includeInterval  a flag that determines whether or not the
 *                         x-interval is taken into account.
 *
 * @return The range./*from  w  w w . j  av  a 2 s .  c om*/
 */
@Override
public Range getDomainBounds(boolean includeInterval) {
    boolean interval = includeInterval || this.domainIsPointsInTime;
    Range result = null;
    Range temp = null;
    Iterator iterator = this.data.iterator();
    while (iterator.hasNext()) {
        TimePeriodValues series = (TimePeriodValues) iterator.next();
        int count = series.getItemCount();
        if (count > 0) {
            TimePeriod start = series.getTimePeriod(series.getMinStartIndex());
            TimePeriod end = series.getTimePeriod(series.getMaxEndIndex());
            if (!interval) {
                if (this.xPosition == TimePeriodAnchor.START) {
                    TimePeriod maxStart = series.getTimePeriod(series.getMaxStartIndex());
                    temp = new Range(start.getStart().getTime(), maxStart.getStart().getTime());
                } else if (this.xPosition == TimePeriodAnchor.MIDDLE) {
                    TimePeriod minMiddle = series.getTimePeriod(series.getMinMiddleIndex());
                    long s1 = minMiddle.getStart().getTime();
                    long e1 = minMiddle.getEnd().getTime();
                    TimePeriod maxMiddle = series.getTimePeriod(series.getMaxMiddleIndex());
                    long s2 = maxMiddle.getStart().getTime();
                    long e2 = maxMiddle.getEnd().getTime();
                    temp = new Range(s1 + (e1 - s1) / 2, s2 + (e2 - s2) / 2);
                } else if (this.xPosition == TimePeriodAnchor.END) {
                    TimePeriod minEnd = series.getTimePeriod(series.getMinEndIndex());
                    temp = new Range(minEnd.getEnd().getTime(), end.getEnd().getTime());
                }
            } else {
                temp = new Range(start.getStart().getTime(), end.getEnd().getTime());
            }
            result = Range.combine(result, temp);
        }
    }
    return result;
}

From source file:org.jfree.data.time.TimePeriodValues.java

/**
 * Update the index values for the maximum and minimum bounds.
 * //from  ww w. jav  a 2s.  c  o m
 * @param period  the time period.
 * @param index  the index of the time period.
 */
private void updateBounds(TimePeriod period, int index) {

    long start = period.getStart().getTime();
    long end = period.getEnd().getTime();
    long middle = start + ((end - start) / 2);

    if (this.minStartIndex >= 0) {
        long minStart = getDataItem(this.minStartIndex).getPeriod().getStart().getTime();
        if (start < minStart) {
            this.minStartIndex = index;
        }
    } else {
        this.minStartIndex = index;
    }

    if (this.maxStartIndex >= 0) {
        long maxStart = getDataItem(this.maxStartIndex).getPeriod().getStart().getTime();
        if (start > maxStart) {
            this.maxStartIndex = index;
        }
    } else {
        this.maxStartIndex = index;
    }

    if (this.minMiddleIndex >= 0) {
        long s = getDataItem(this.minMiddleIndex).getPeriod().getStart().getTime();
        long e = getDataItem(this.minMiddleIndex).getPeriod().getEnd().getTime();
        long minMiddle = s + (e - s) / 2;
        if (middle < minMiddle) {
            this.minMiddleIndex = index;
        }
    } else {
        this.minMiddleIndex = index;
    }

    if (this.maxMiddleIndex >= 0) {
        long s = getDataItem(this.minMiddleIndex).getPeriod().getStart().getTime();
        long e = getDataItem(this.minMiddleIndex).getPeriod().getEnd().getTime();
        long maxMiddle = s + (e - s) / 2;
        if (middle > maxMiddle) {
            this.maxMiddleIndex = index;
        }
    } else {
        this.maxMiddleIndex = index;
    }

    if (this.minEndIndex >= 0) {
        long minEnd = getDataItem(this.minEndIndex).getPeriod().getEnd().getTime();
        if (end < minEnd) {
            this.minEndIndex = index;
        }
    } else {
        this.minEndIndex = index;
    }

    if (this.maxEndIndex >= 0) {
        long maxEnd = getDataItem(this.maxEndIndex).getPeriod().getEnd().getTime();
        if (end > maxEnd) {
            this.maxEndIndex = index;
        }
    } else {
        this.maxEndIndex = index;
    }

}

From source file:org.jfree.data.time.TimePeriodValues.java

/**
 * Update the index values for the maximum and minimum bounds.
 * /*from   w  w  w . ja va2  s .c  o  m*/
 * @param period  the time period.
 * @param index  the index of the time period.
 */
private void updateBounds(TimePeriod period, int index) {

    long start = period.getStart().getTime();
    long end = period.getEnd().getTime();
    long middle = start + ((end - start) / 2);

    if (this.minStartIndex >= 0) {
        long minStart = getDataItem(this.minStartIndex).getPeriod().getStart().getTime();
        if (start < minStart) {
            this.minStartIndex = index;
        }
    } else {
        this.minStartIndex = index;
    }

    if (this.maxStartIndex >= 0) {
        long maxStart = getDataItem(this.maxStartIndex).getPeriod().getStart().getTime();
        if (start > maxStart) {
            this.maxStartIndex = index;
        }
    } else {
        this.maxStartIndex = index;
    }

    if (this.minMiddleIndex >= 0) {
        long s = getDataItem(this.minMiddleIndex).getPeriod().getStart().getTime();
        long e = getDataItem(this.minMiddleIndex).getPeriod().getEnd().getTime();
        long minMiddle = s + (e - s) / 2;
        if (middle < minMiddle) {
            this.minMiddleIndex = index;
        }
    } else {
        this.minMiddleIndex = index;
    }

    if (this.maxMiddleIndex >= 0) {
        long s = getDataItem(this.maxMiddleIndex).getPeriod().getStart().getTime();
        long e = getDataItem(this.maxMiddleIndex).getPeriod().getEnd().getTime();
        long maxMiddle = s + (e - s) / 2;
        if (middle > maxMiddle) {
            this.maxMiddleIndex = index;
        }
    } else {
        this.maxMiddleIndex = index;
    }

    if (this.minEndIndex >= 0) {
        long minEnd = getDataItem(this.minEndIndex).getPeriod().getEnd().getTime();
        if (end < minEnd) {
            this.minEndIndex = index;
        }
    } else {
        this.minEndIndex = index;
    }

    if (this.maxEndIndex >= 0) {
        long maxEnd = getDataItem(this.maxEndIndex).getPeriod().getEnd().getTime();
        if (end > maxEnd) {
            this.maxEndIndex = index;
        }
    } else {
        this.maxEndIndex = index;
    }

}

From source file:org.jfree.data.time.TimePeriodValuesCollection.java

/**
 * Returns the x-value for a time period.
 *
 * @param period  the time period./*w w  w.  j  a va  2  s  .c  o  m*/
 *
 * @return The x-value.
 */
private long getX(TimePeriod period) {

    if (this.xPosition == TimePeriodAnchor.START) {
        return period.getStart().getTime();
    } else if (this.xPosition == TimePeriodAnchor.MIDDLE) {
        return period.getStart().getTime() / 2 + period.getEnd().getTime() / 2;
    } else if (this.xPosition == TimePeriodAnchor.END) {
        return period.getEnd().getTime();
    } else {
        throw new IllegalStateException("TimePeriodAnchor unknown.");
    }

}

From source file:org.jfree.data.gantt.TaskSeriesCollection.java

/**
 * Returns the end value of a sub-interval for a given item.
 *
 * @param rowKey  the row key.//  ww  w . jav a2s  . c o  m
 * @param columnKey  the column key.
 * @param subinterval  the subinterval.
 *
 * @return The end value (possibly <code>null</code>).
 */
@Override
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;
}

From source file:org.jfree.data.gantt.TaskSeriesCollection.java

/**
 * Returns the end value for a task.  This is a date/time value, measured
 * in milliseconds since 1-Jan-1970.//from www . j a v  a2s . c  o  m
 *
 * @param rowKey  the series.
 * @param columnKey  the category.
 *
 * @return The end value (possibly <code>null</code>).
 */
@Override
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;
}

From source file:org.jfree.data.time.TimeTableXYDataset.java

/**
 * Returns the range of the values in this dataset's domain.
 *
 * @param includeInterval  a flag that controls whether or not the
 *                         x-intervals are taken into account.
 *
 * @return The range./*from   w w w.j  a  v a  2  s  .c o m*/
 */
@Override
public Range getDomainBounds(boolean includeInterval) {
    List keys = this.values.getRowKeys();
    if (keys.isEmpty()) {
        return null;
    }

    TimePeriod first = (TimePeriod) keys.get(0);
    TimePeriod last = (TimePeriod) keys.get(keys.size() - 1);

    if (!includeInterval || this.domainIsPointsInTime) {
        return new Range(getXValue(first), getXValue(last));
    } else {
        return new Range(first.getStart().getTime(), last.getEnd().getTime());
    }
}