public interface

Timeline

org.jfree.chart.axis.Timeline
Known Indirect Subclasses

Class Overview

An interface that defines the contract for a Timeline.

A Timeline will present a series of values to be used for an axis. Each Timeline must provide transformation methods between domain values and timeline values. In theory many transformations are possible. This interface has been implemented completely in SegmentedTimeline.

A timeline can be used as parameter to a DateAxis to define the values that this axis supports. As an example, the SegmentedTimeline implements a timeline formed by segments of equal length (ex. days, hours, minutes) where some segments can be included in the timeline and others excluded. Therefore timelines like "working days" or "working hours" can be created where non-working days or non-working hours respectively can be removed from the timeline, and therefore from the axis. This creates a smooth plot with equal separation between all included segments.

Because Timelines were created mainly for Date related axis, values are represented as longs instead of doubles. In this case, the domain value is just the number of milliseconds since January 1, 1970, 00:00:00 GMT as defined by the getTime() method of java.util.Date.

Summary

Public Methods
abstract boolean containsDomainRange(Date fromDate, Date toDate)
Returns true if a range of dates are contained in the timeline.
abstract boolean containsDomainRange(long fromMillisecond, long toMillisecond)
Returns true if a range of values are contained in the timeline.
abstract boolean containsDomainValue(long millisecond)
Returns true if a value is contained in the timeline values.
abstract boolean containsDomainValue(Date date)
Returns true if a date is contained in the timeline values.
abstract long toMillisecond(long timelineValue)
Translates a value relative to this timeline into a domain value.
abstract long toTimelineValue(Date date)
Translates a date into a value on this timeline.
abstract long toTimelineValue(long millisecond)
Translates a millisecond (as defined by java.util.Date) into an index along this timeline.

Public Methods

public abstract boolean containsDomainRange (Date fromDate, Date toDate)

Returns true if a range of dates are contained in the timeline.

Parameters
fromDate the start of the range to verify.
toDate the end of the range to verify.
Returns
  • true if the range is contained in the timeline or false otherwise

public abstract boolean containsDomainRange (long fromMillisecond, long toMillisecond)

Returns true if a range of values are contained in the timeline.

Parameters
fromMillisecond the start of the range to verify.
toMillisecond the end of the range to verify.
Returns
  • true if the range is contained in the timeline or false otherwise

public abstract boolean containsDomainValue (long millisecond)

Returns true if a value is contained in the timeline values.

Parameters
millisecond the millisecond.
Returns
  • true if value is contained in the timeline and false otherwise.

public abstract boolean containsDomainValue (Date date)

Returns true if a date is contained in the timeline values.

Parameters
date the date to verify.
Returns
  • true if value is contained in the timeline and false otherwise.

public abstract long toMillisecond (long timelineValue)

Translates a value relative to this timeline into a domain value. The domain value obtained by this method is not always the same domain value that could have been supplied to translateDomainValueToTimelineValue(domainValue). This is because the original tranformation may not be complete reversable.

Parameters
timelineValue a timeline value.
Returns
  • A domain value.

public abstract long toTimelineValue (Date date)

Translates a date into a value on this timeline.

Parameters
date the date.
Returns
  • A timeline value

public abstract long toTimelineValue (long millisecond)

Translates a millisecond (as defined by java.util.Date) into an index along this timeline.

Parameters
millisecond the millisecond.
Returns
  • A timeline value.