Package org.jfree.chart.axis
Class SegmentedTimeline.Segment
java.lang.Object
org.jfree.chart.axis.SegmentedTimeline.Segment
- All Implemented Interfaces:
Serializable
,Cloneable
,Comparable
- Enclosing class:
- SegmentedTimeline
public class SegmentedTimeline.Segment extends Object implements Comparable, Cloneable, Serializable
Internal class to represent a valid segment for this timeline. A segment is
valid on a timeline if it is part of its included, excluded or exception
segments.
Each segment will know its segment number, segmentStart, segmentEnd and index inside the segment.
- See Also:
- Serialized Form
-
Method Summary
Modifier and Type Method Description boolean
after(SegmentedTimeline.Segment other)
Returnstrue
if this segment is wholly after another segment.boolean
before(SegmentedTimeline.Segment other)
Returnstrue
if this segment is wholly before another segment.long
calculateSegmentNumber(long millisecond)
Calculates the segment number for a given millisecond.int
compareTo(Object object)
Will compare this Segment with another Segment (from Comparable interface).boolean
contained(long from, long to)
Returnstrue
if this segment is contained in an interval.boolean
contains(long millisecond)
Returns true if a particular millisecond is contained in this segment.boolean
contains(long from, long to)
Returnstrue
if an interval is contained in this segment.boolean
contains(SegmentedTimeline.Segment segment)
Returnstrue
if a segment is contained in this segment.SegmentedTimeline.Segment
copy()
Returns a copy of ourselves ornull
if there was an exception during cloning.void
dec()
Decrements the internal attributes of this segment by one segment.void
dec(long n)
Decrements the internal attributes of this segment by a number of segments.boolean
equals(Object object)
Tests an object (usually anotherSegment
) for equality with this segment.Date
getDate()
Returns aDate
that represents the reference point for this segment.long
getIndex()
Deprecated.Use getMillisecond().long
getMillisecond()
Returns the millisecond used to reference this segment (always between the segmentStart and segmentEnd).long
getSegmentCount()
Returns always one (the number of segments contained in this segment).long
getSegmentEnd()
Gets the end of this segment in ms.long
getSegmentNumber()
Returns the segment number of this segment.long
getSegmentStart()
Gets the start of this segment in ms.void
inc()
Increments the internal attributes of this segment by one segment.void
inc(long n)
Increments the internal attributes of this segment by a number of segments.boolean
inExceptionSegments()
Returns true if we are an exception segment.boolean
inExcludeSegments()
Returns true if we are an excluded segment.boolean
inIncludeSegments()
Returns true if we are an included segment and we are not an exception.SegmentedTimeline.Segment
intersect(long from, long to)
Returns a segment that is the intersection of this segment and the interval.void
moveIndexToEnd()
Moves the index of this segment to the end of the segment.void
moveIndexToStart()
Moves the index of this segment to the beginning if the segment.
-
Method Details
-
calculateSegmentNumber
public long calculateSegmentNumber(long millisecond)Calculates the segment number for a given millisecond.- Parameters:
millisecond
- the millisecond (as encoded by java.util.Date).- Returns:
- The segment number.
-
getSegmentNumber
public long getSegmentNumber()Returns the segment number of this segment. Segments start at 0.- Returns:
- The segment number.
-
getSegmentCount
public long getSegmentCount()Returns always one (the number of segments contained in this segment).- Returns:
- The segment count (always 1 for this class).
-
getSegmentStart
public long getSegmentStart()Gets the start of this segment in ms.- Returns:
- The segment start.
-
getSegmentEnd
public long getSegmentEnd()Gets the end of this segment in ms.- Returns:
- The segment end.
-
getMillisecond
public long getMillisecond()Returns the millisecond used to reference this segment (always between the segmentStart and segmentEnd).- Returns:
- The millisecond.
-
getIndex
public long getIndex()Deprecated.Use getMillisecond().Gets the index in this segment. Index will always be between the segmentStart and segmentEnd.- Returns:
- The index.
-
getDate
Returns aDate
that represents the reference point for this segment.- Returns:
- The date.
-
contains
public boolean contains(long millisecond)Returns true if a particular millisecond is contained in this segment.- Parameters:
millisecond
- the millisecond to verify.- Returns:
true
if the millisecond is contained in the segment.
-
contains
public boolean contains(long from, long to)Returnstrue
if an interval is contained in this segment.- Parameters:
from
- the start of the interval.to
- the end of the interval.- Returns:
true
if the interval is contained in the segment.
-
contains
Returnstrue
if a segment is contained in this segment.- Parameters:
segment
- the segment to test for inclusion- Returns:
true
if the segment is contained in this segment.
-
contained
public boolean contained(long from, long to)Returnstrue
if this segment is contained in an interval.- Parameters:
from
- the start of the interval.to
- the end of the interval.- Returns:
- true this segment is contained in the interval
-
intersect
Returns a segment that is the intersection of this segment and the interval.- Parameters:
from
- the start of the interval.to
- the end of the interval.- Returns:
- A segment.
-
before
Returnstrue
if this segment is wholly before another segment.- Parameters:
other
- the other segment.- Returns:
- A boolean.
-
after
Returnstrue
if this segment is wholly after another segment.- Parameters:
other
- the other segment.- Returns:
- A boolean.
-
equals
Tests an object (usually anotherSegment
) for equality with this segment. -
copy
Returns a copy of ourselves ornull
if there was an exception during cloning.- Returns:
- A copy of this segment.
-
compareTo
Will compare this Segment with another Segment (from Comparable interface).- Specified by:
compareTo
in interfaceComparable
- Parameters:
object
- The other Segment to compare with- Returns:
- -1: this < object, 0: this.equal(object) and +1: this > object
-
inIncludeSegments
public boolean inIncludeSegments()Returns true if we are an included segment and we are not an exception.- Returns:
true
orfalse
.
-
inExcludeSegments
public boolean inExcludeSegments()Returns true if we are an excluded segment.- Returns:
true
orfalse
.
-
inExceptionSegments
public boolean inExceptionSegments()Returns true if we are an exception segment. This is implemented via a binary search on the exceptionSegments sorted list. If the segment is not listed as an exception in our list and we have a baseTimeline, a check is performed to see if the segment is inside an excluded segment from our base. If so, it is also considered an exception.- Returns:
- true if we are an exception segment.
-
inc
public void inc(long n)Increments the internal attributes of this segment by a number of segments.- Parameters:
n
- Number of segments to increment.
-
inc
public void inc()Increments the internal attributes of this segment by one segment. The exact time incremented is segmentSize. -
dec
public void dec(long n)Decrements the internal attributes of this segment by a number of segments.- Parameters:
n
- Number of segments to decrement.
-
dec
public void dec()Decrements the internal attributes of this segment by one segment. The exact time decremented is segmentSize. -
moveIndexToStart
public void moveIndexToStart()Moves the index of this segment to the beginning if the segment. -
moveIndexToEnd
public void moveIndexToEnd()Moves the index of this segment to the end of the segment.
-