Header
And More


org.jfree.chart.axis
Class SegmentedTimeline.Segment

java.lang.Object
  extended by 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
protected  long millisecond
          A reference point within the segment.
protected  long segmentEnd
          The segment end.
protected  long segmentNumber
          The segment number.
protected  long segmentStart
          The segment start.
 
Constructor Summary
protected SegmentedTimeline.Segment()
          Protected constructor only used by sub-classes.
protected SegmentedTimeline.Segment(long millisecond)
          Creates a segment for a given point in time.
 
Method Summary
 boolean after(SegmentedTimeline.Segment other)
          Returns true if this segment is wholly after another segment.
 boolean before(SegmentedTimeline.Segment other)
          Returns true if this segment is wholly before another segment.
 long calculateSegmentNumber(long millis)
          Calculates the segment number for a given millisecond.
 int compareTo(java.lang.Object object)
          Will compare this Segment with another Segment (from Comparable interface).
 boolean contained(long from, long to)
          Returns true if this segment is contained in an interval.
 boolean contains(long millis)
          Returns true if a particular millisecond is contained in this segment.
 boolean contains(long from, long to)
          Returns true if an interval is contained in this segment.
 boolean contains(SegmentedTimeline.Segment segment)
          Returns true if a segment is contained in this segment.
 SegmentedTimeline.Segment copy()
          Returns a copy of ourselves or null 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(java.lang.Object object)
          Tests an object (usually another Segment) for equality with this segment.
 java.util.Date getDate()
          Returns a Date that represents the reference point for this segment.
 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.
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

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.

Constructor Detail

SegmentedTimeline.Segment

protected SegmentedTimeline.Segment()
Protected constructor only used by sub-classes.


SegmentedTimeline.Segment

protected SegmentedTimeline.Segment(long millisecond)
Creates a segment for a given point in time.

Parameters:
millisecond - the millisecond (as encoded by java.util.Date).
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 a Date that 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:
true if the millisecond is contained in the segment.

contains

public boolean contains(long from,
                        long to)
Returns true 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

public boolean contains(SegmentedTimeline.Segment segment)
Returns true 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)
Returns true if this segment is contained in an interval.

Parameters:
from - the start of the interval.
to - the end of the interval.
Returns:
true if 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)
Returns true if this segment is wholly before another segment.

Parameters:
other - the other segment.
Returns:
A boolean.

after

public boolean after(SegmentedTimeline.Segment other)
Returns true if 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 another Segment) for equality with this segment.

Overrides:
equals in class java.lang.Object
Parameters:
object - The other segment to compare with us
Returns:
true if we are the same segment

copy

public SegmentedTimeline.Segment copy()
Returns a copy of ourselves or null if 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:
compareTo in interface java.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:
true or false.

inExcludeSegments

public boolean inExcludeSegments()
Returns true if we are an excluded segment.

Returns:
true or false.

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.


Footer
And More


Copyright © 2000-2009 by Object Refinery Limited. All Rights Reserved.