Interface Timeline
- All Known Implementing Classes:
SegmentedTimeline
public interface 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 Date
.
- Author:
- Bill Kelemen
- See Also:
SegmentedTimeline
,DateAxis
-
Method Summary
Modifier and Type Method Description boolean
containsDomainRange(long fromMillisecond, long toMillisecond)
Returnstrue
if a range of values are contained in the timeline.boolean
containsDomainRange(Date fromDate, Date toDate)
Returnstrue
if a range of dates are contained in the timeline.boolean
containsDomainValue(long millisecond)
Returnstrue
if a value is contained in the timeline values.boolean
containsDomainValue(Date date)
Returnstrue
if a date is contained in the timeline values.long
toMillisecond(long timelineValue)
Translates a value relative to this timeline into a domain value.long
toTimelineValue(long millisecond)
Translates a millisecond (as defined by java.util.Date) into an index along this timeline.long
toTimelineValue(Date date)
Translates a date into a value on this timeline.
-
Method Details
-
toTimelineValue
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.
-
toTimelineValue
Translates a date into a value on this timeline.- Parameters:
date
- the date.- Returns:
- A timeline value
-
toMillisecond
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.
- See Also:
SegmentedTimeline
-
containsDomainValue
boolean containsDomainValue(long millisecond)Returnstrue
if a value is contained in the timeline values.- Parameters:
millisecond
- the millisecond.- Returns:
true
if value is contained in the timeline andfalse
otherwise.
-
containsDomainValue
Returnstrue
if a date is contained in the timeline values.- Parameters:
date
- the date to verify.- Returns:
true
if value is contained in the timeline andfalse
otherwise.
-
containsDomainRange
boolean containsDomainRange(long fromMillisecond, long toMillisecond)Returnstrue
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 orfalse
otherwise
-
containsDomainRange
Returnstrue
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 orfalse
otherwise
-