net.sf.statcvs.reportmodel

Class TimeLine


public class TimeLine
extends Object

Contains time line data for an integer value. The semantics is that at every data point, the time line's value changed from the previous point's value to the current point's value. Time points may be specified either by an absolute value using addTimePoint, or by a value relative to the previous time point using addChange(Date,int). If all points are specified using addChange, an initial value must be given using setInitialValue(int).
Version:
$Id: TimeLine.java,v 1.5 2008/04/02 11:52:02 benoitx Exp $
Author:
Richard Cyganiak

Constructor Summary

TimeLine(String title, String rangeLabel)
Creates a new time line.

Method Summary

void
addChange(Date date, int delta)
Specifies that the time line's value changed at a given date.
void
addTimePoint(Date date, int value)
Adds a data point to the time line.
List
getDataPoints()
Returns a List of data points, ordered by date.
String
getRangeLabel()
Returns the range label (axis label) of the values
String
getTitle()
Returns the title of the time line
boolean
isEmpty()
Checks if the time series is empty.
void
setInitialValue(int initialValue)
Sets the initial value of the time line, that is the value just before the first data point.

Constructor Details

TimeLine

public TimeLine(String title,
                String rangeLabel)
Creates a new time line.
Parameters:
title - the time line's title
rangeLabel - a range label (axis label) for the values

Method Details

addChange

public void addChange(Date date,
                      int delta)
Specifies that the time line's value changed at a given date. Data points may be added in any order.
Parameters:
date - the data point's date
delta - the value change at this time

addTimePoint

public void addTimePoint(Date date,
                         int value)
Adds a data point to the time line. Data points may be added in any order.
Parameters:
date - the data point's date
value - the data point's value

getDataPoints

public List getDataPoints()
Returns a List of data points, ordered by date.

getRangeLabel

public String getRangeLabel()
Returns the range label (axis label) of the values
Returns:
an axis label for the values

getTitle

public String getTitle()
Returns the title of the time line
Returns:
the title

isEmpty

public boolean isEmpty()
Checks if the time series is empty. A series is considered empty if it has zero or one time points. It takes two distinct time points to actually make it a series.
Returns:
true if the time series is empty

setInitialValue

public void setInitialValue(int initialValue)
Sets the initial value of the time line, that is the value just before the first data point.
Parameters:
initialValue - the time line's initial value