Package org.jfree.chart.axis
Class SegmentedTimeline.Segment
- java.lang.Object
-
- org.jfree.chart.axis.SegmentedTimeline.Segment
-
- All Implemented Interfaces:
java.io.Serializable,java.lang.Cloneable,java.lang.Comparable
- Direct Known Subclasses:
SegmentedTimeline.SegmentRange
- Enclosing class:
- SegmentedTimeline
public class SegmentedTimeline.Segment extends java.lang.Object implements java.lang.Comparable, java.lang.Cloneable, java.io.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
-
-
Field Summary
Fields Modifier and Type Field Description protected longmillisecondA reference point within the segment.protected longsegmentEndThe segment end.protected longsegmentNumberThe segment number.protected longsegmentStartThe segment start.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description booleanafter(SegmentedTimeline.Segment other)Returnstrueif this segment is wholly after another segment.booleanbefore(SegmentedTimeline.Segment other)Returnstrueif this segment is wholly before another segment.longcalculateSegmentNumber(long millis)Calculates the segment number for a given millisecond.intcompareTo(java.lang.Object object)Will compare this Segment with another Segment (from Comparable interface).booleancontained(long from, long to)Returnstrueif this segment is contained in an interval.booleancontains(long millis)Returns true if a particular millisecond is contained in this segment.booleancontains(long from, long to)Returnstrueif an interval is contained in this segment.booleancontains(SegmentedTimeline.Segment segment)Returnstrueif a segment is contained in this segment.SegmentedTimeline.Segmentcopy()Returns a copy of ourselves ornullif there was an exception during cloning.voiddec()Decrements the internal attributes of this segment by one segment.voiddec(long n)Decrements the internal attributes of this segment by a number of segments.booleanequals(java.lang.Object object)Tests an object (usually anotherSegment) for equality with this segment.java.util.DategetDate()Returns aDatethat represents the reference point for this segment.longgetMillisecond()Returns the millisecond used to reference this segment (always between the segmentStart and segmentEnd).longgetSegmentCount()Returns always one (the number of segments contained in this segment).longgetSegmentEnd()Gets the end of this segment in ms.longgetSegmentNumber()Returns the segment number of this segment.longgetSegmentStart()Gets the start of this segment in ms.voidinc()Increments the internal attributes of this segment by one segment.voidinc(long n)Increments the internal attributes of this segment by a number of segments.booleaninExceptionSegments()Returns true if we are an exception segment.booleaninExcludeSegments()Returns true if we are an excluded segment.booleaninIncludeSegments()Returns true if we are an included segment and we are not an exception.SegmentedTimeline.Segmentintersect(long from, long to)Returns a segment that is the intersection of this segment and the interval.voidmoveIndexToEnd()Moves the index of this segment to the end of the segment.voidmoveIndexToStart()Moves the index of this segment to the beginning if the segment.
-
-
-
Field Detail
-
segmentNumber
protected long segmentNumber
The segment number.
-
segmentStart
protected long segmentStart
The segment start.
-
segmentEnd
protected long segmentEnd
The segment end.
-
millisecond
protected long millisecond
A reference point within the segment.
-
-
Method Detail
-
calculateSegmentNumber
public long calculateSegmentNumber(long millis)
Calculates the segment number for a given millisecond.- Parameters:
millis- 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.
-
getDate
public java.util.Date getDate()
Returns aDatethat represents the reference point for this segment.- Returns:
- The date.
-
contains
public boolean contains(long millis)
Returns true if a particular millisecond is contained in this segment.- Parameters:
millis- the millisecond to verify.- Returns:
trueif the millisecond is contained in the segment.
-
contains
public boolean contains(long from, long to)
Returnstrueif an interval is contained in this segment.- Parameters:
from- the start of the interval.to- the end of the interval.- Returns:
trueif the interval is contained in the segment.
-
contains
public boolean contains(SegmentedTimeline.Segment segment)
Returnstrueif a segment is contained in this segment.- Parameters:
segment- the segment to test for inclusion- Returns:
trueif the segment is contained in this segment.
-
contained
public boolean contained(long from, long to)
Returnstrueif this segment is contained in an interval.- Parameters:
from- the start of the interval.to- the end of the interval.- Returns:
trueif this segment is contained in the interval.
-
intersect
public SegmentedTimeline.Segment intersect(long from, long to)
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
public boolean before(SegmentedTimeline.Segment other)
Returnstrueif this segment is wholly before another segment.- Parameters:
other- the other segment.- Returns:
- A boolean.
-
after
public boolean after(SegmentedTimeline.Segment other)
Returnstrueif this segment is wholly after another segment.- Parameters:
other- the other segment.- Returns:
- A boolean.
-
equals
public boolean equals(java.lang.Object object)
Tests an object (usually anotherSegment) for equality with this segment.- Overrides:
equalsin classjava.lang.Object- Parameters:
object- The other segment to compare with us- Returns:
trueif we are the same segment
-
copy
public SegmentedTimeline.Segment copy()
Returns a copy of ourselves ornullif there was an exception during cloning.- Returns:
- A copy of this segment.
-
compareTo
public int compareTo(java.lang.Object object)
Will compare this Segment with another Segment (from Comparable interface).- Specified by:
compareToin interfacejava.lang.Comparable- 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:
trueorfalse.
-
inExcludeSegments
public boolean inExcludeSegments()
Returns true if we are an excluded segment.- Returns:
trueorfalse.
-
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:
trueif 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.
-
-