# Class TimeLine

java.lang.Object
net.sf.statcvs.reportmodel.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 invalid input: '<'rcyg@gmx.de>

## Constructor Summary

Constructors
Constructor
Description
`TimeLine(String title, String rangeLabel)`
Creates a new time line.

## Method Summary

Modifier and Type
Method
Description
`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.

### Methods inherited from class Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

## 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

### 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

### 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

### 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

### 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

### getDataPoints

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

Returns:
  a `List` of `TimePoint`s

### 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