org.jfree.data.xy
Class IntervalXYDelegate
java.lang.Object
org.jfree.data.xy.IntervalXYDelegate
- Cloneable, DatasetChangeListener, EventListener, DomainInfo, PublicCloneable, Serializable
A delegate that handles the specification or automatic calculation of the
interval surrounding the x-values in a dataset. This is used to extend
a regular
XYDataset
to support the
IntervalXYDataset
interface.
The decorator pattern was not used because of the several possibly
implemented interfaces of the decorated instance (e.g.
TableXYDataset
,
RangeInfo
,
DomainInfo
etc.).
The width can be set manually or calculated automatically. The switch
autoWidth allows to determine which behavior is used. The auto width
calculation tries to find the smallest gap between two x-values in the
dataset. If there is only one item in the series, the auto width
calculation fails and falls back on the manually set interval width (which
is itself defaulted to 1.0).
Object | clone()
|
void | datasetChanged(DatasetChangeEvent e) - Handles events from the dataset by recalculating the interval if
necessary.
|
boolean | equals(Object obj) - Tests the delegate for equality with an arbitrary object.
|
Range | getDomainBounds(boolean includeInterval) - Returns the range of the values in the dataset's domain, including
or excluding the interval around each x-value as specified.
|
double | getDomainLowerBound(boolean includeInterval) - Returns the minimum x-value in the dataset.
|
double | getDomainUpperBound(boolean includeInterval) - Returns the maximum x-value in the dataset.
|
Number | getEndX(int series, int item) - Returns the end value of the x-interval for an item within a series.
|
double | getEndXValue(int series, int item) - Returns the end value of the x-interval for an item within a series.
|
double | getFixedIntervalWidth() - Returns the fixed interval width.
|
double | getIntervalPositionFactor() - Returns the interval position factor.
|
double | getIntervalWidth() - Returns the interval width.
|
Number | getStartX(int series, int item) - Returns the start value of the x-interval for an item within a series.
|
double | getStartXValue(int series, int item) - Returns the start value of the x-interval for an item within a series.
|
boolean | isAutoWidth() - Returns
true if the interval width is automatically
calculated, and false otherwise.
|
void | setAutoWidth(boolean b) - Sets the flag that indicates whether the interval width is automatically
calculated.
|
void | setFixedIntervalWidth(double w) - Sets the fixed interval width and, as a side effect, sets the
autoWidth flag to false .
|
void | setIntervalPositionFactor(double d) - Sets the interval position factor.
|
IntervalXYDelegate
public IntervalXYDelegate(XYDataset dataset)
Creates a new delegate that.
dataset
- the underlying dataset (null
not permitted).
IntervalXYDelegate
public IntervalXYDelegate(XYDataset dataset,
boolean autoWidth)
Creates a new delegate for the specified dataset.
dataset
- the underlying dataset (null
not permitted).autoWidth
- a flag that controls whether the interval width is
calculated automatically.
clone
public Object clone()
throws CloneNotSupportedException
- A clone of this delegate.
equals
public boolean equals(Object obj)
Tests the delegate for equality with an arbitrary object.
obj
- the object (null
permitted).
getDomainBounds
public Range getDomainBounds(boolean includeInterval)
Returns the range of the values in the dataset's domain, including
or excluding the interval around each x-value as specified.
- getDomainBounds in interface DomainInfo
includeInterval
- a flag that determines whether or not the
x-interval should be taken into account.
getDomainLowerBound
public double getDomainLowerBound(boolean includeInterval)
Returns the minimum x-value in the dataset.
- getDomainLowerBound in interface DomainInfo
includeInterval
- a flag that determines whether or not the
x-interval is taken into account.
getDomainUpperBound
public double getDomainUpperBound(boolean includeInterval)
Returns the maximum x-value in the dataset.
- getDomainUpperBound in interface DomainInfo
includeInterval
- a flag that determines whether or not the
x-interval is taken into account.
getEndX
public Number getEndX(int series,
int item)
Returns the end value of the x-interval for an item within a series.
series
- the series index.item
- the item index.
- The end value of the x-interval (possibly
null
).
getEndXValue
public double getEndXValue(int series,
int item)
Returns the end value of the x-interval for an item within a series.
series
- the series index.item
- the item index.
- The end value of the x-interval.
getFixedIntervalWidth
public double getFixedIntervalWidth()
Returns the fixed interval width.
- The fixed interval width.
getIntervalPositionFactor
public double getIntervalPositionFactor()
Returns the interval position factor.
- The interval position factor.
getIntervalWidth
public double getIntervalWidth()
Returns the interval width. This method will return either the
auto calculated interval width or the manually specified interval
width, depending on the
isAutoWidth()
result.
- The interval width to use.
getStartX
public Number getStartX(int series,
int item)
Returns the start value of the x-interval for an item within a series.
series
- the series index.item
- the item index.
- The start value of the x-interval (possibly
null
).
getStartXValue
public double getStartXValue(int series,
int item)
Returns the start value of the x-interval for an item within a series.
series
- the series index.item
- the item index.
- The start value of the x-interval.
isAutoWidth
public boolean isAutoWidth()
Returns true
if the interval width is automatically
calculated, and false
otherwise.
setAutoWidth
public void setAutoWidth(boolean b)
Sets the flag that indicates whether the interval width is automatically
calculated. If the flag is set to
true
, the interval is
recalculated.
Note: recalculating the interval amounts to changing the data values
represented by the dataset. The calling dataset must fire an
appropriate
DatasetChangeEvent
.
setFixedIntervalWidth
public void setFixedIntervalWidth(double w)
Sets the fixed interval width and, as a side effect, sets the
autoWidth
flag to
false
.
Note that changing the interval width amounts to changing the data
values represented by the dataset. Therefore, the dataset
that is using this delegate is responsible for generating the
appropriate
DatasetChangeEvent
.
w
- the width (negative values not permitted).
setIntervalPositionFactor
public void setIntervalPositionFactor(double d)
Sets the interval position factor. This controls how the interval is
aligned to the x-value. For a value of 0.5, the interval is aligned
with the x-value in the center. For a value of 0.0, the interval is
aligned with the x-value at the lower end of the interval, and for a
value of 1.0, the interval is aligned with the x-value at the upper
end of the interval.
Note that changing the interval position factor amounts to changing the
data values represented by the dataset. Therefore, the dataset that is
using this delegate is responsible for generating the
appropriate
DatasetChangeEvent
.
d
- the new interval position factor (in the range
0.0
to 1.0
inclusive).