org.jfree.chart.renderer.category
Interface CategoryItemRenderer

All Superinterfaces:
LegendItemSource
All Known Implementing Classes:
AbstractCategoryItemRenderer, IntervalBarRenderer, StatisticalBarRenderer

public interface CategoryItemRenderer
extends LegendItemSource

A plug-in object that is used by the CategoryPlot class to display individual data items from a CategoryDataset.

This interface defines the methods that must be provided by all renderers. If you are implementing a custom renderer, you should consider extending the AbstractCategoryItemRenderer class.

Most renderer attributes are defined using a "three layer" approach. When looking up an attribute (for example, the outline paint) the renderer first checks to see if there is a setting (in layer 0) that applies to ALL items that the renderer draws. If there is, that setting is used, but if it is null the renderer looks up the next layer, which contains "per series" settings for the attribute (many attributes are defined on a per series basis, so this is the layer that is most commonly used). If the layer 1 setting is null, the renderer will look up the final layer, which provides a default or "base" setting. Some attributes allow the base setting to be null, while other attributes enforce non-null values.


Method Summary
 void addChangeListener(RendererChangeListener listener)
          Adds a change listener.
 void drawBackground(java.awt.Graphics2D g2, CategoryPlot plot, java.awt.geom.Rectangle2D dataArea)
          Draws a background for the data area.
 void drawDomainGridline(java.awt.Graphics2D g2, CategoryPlot plot, java.awt.geom.Rectangle2D dataArea, double value)
          Draws a grid line against the domain axis.
 void drawItem(java.awt.Graphics2D g2, CategoryItemRendererState state, java.awt.geom.Rectangle2D dataArea, CategoryPlot plot, CategoryAxis domainAxis, ValueAxis rangeAxis, CategoryDataset dataset, int row, int column, int pass)
          Draws a single data item.
 void drawOutline(java.awt.Graphics2D g2, CategoryPlot plot, java.awt.geom.Rectangle2D dataArea)
          Draws an outline for the data area.
 void drawRangeGridline(java.awt.Graphics2D g2, CategoryPlot plot, ValueAxis axis, java.awt.geom.Rectangle2D dataArea, double value)
          Draws a grid line against the range axis.
 void drawRangeMarker(java.awt.Graphics2D g2, CategoryPlot plot, ValueAxis axis, Marker marker, java.awt.geom.Rectangle2D dataArea)
          Draws a line (or some other marker) to indicate a particular value on the range axis.
 Range findRangeBounds(CategoryDataset dataset)
          Returns the range of values the renderer requires to display all the items from the specified dataset.
 java.awt.Font getBaseItemLabelFont()
          Returns the base item label font (this is used when no other font setting is available).
 java.awt.Paint getBaseItemLabelPaint()
          Returns the base item label paint.
 java.lang.Boolean getBaseItemLabelsVisible()
          Returns the base setting for item label visibility.
 CategoryURLGenerator getBaseItemURLGenerator()
          Returns the base item URL generator.
 CategoryLabelGenerator getBaseLabelGenerator()
          Returns the base label generator.
 ItemLabelPosition getBaseNegativeItemLabelPosition()
          Returns the base item label position for negative values.
 java.awt.Paint getBaseOutlinePaint()
          Returns the base outline paint.
 java.awt.Stroke getBaseOutlineStroke()
          Returns the base outline stroke.
 java.awt.Paint getBasePaint()
          Returns the base paint.
 ItemLabelPosition getBasePositiveItemLabelPosition()
          Returns the base positive item label position.
 java.awt.Shape getBaseShape()
          Returns the base shape.
 java.awt.Stroke getBaseStroke()
          Returns the base stroke.
 CategoryToolTipGenerator getBaseToolTipGenerator()
          Returns the base tool tip generator (the "layer 2" generator).
 java.awt.Font getItemLabelFont()
          Returns the font used for all item labels.
 java.awt.Font getItemLabelFont(int row, int column)
          Returns the font for an item label.
 java.awt.Paint getItemLabelPaint()
          Returns the paint used for all item labels.
 java.awt.Paint getItemLabelPaint(int row, int column)
          Returns the paint used to draw an item label.
 java.awt.Paint getItemOutlinePaint(int row, int column)
          Returns the paint used to outline data items as they are drawn.
 java.awt.Stroke getItemOutlineStroke(int row, int column)
          Returns the stroke used to outline data items.
 java.awt.Paint getItemPaint(int row, int column)
          Returns the paint used to fill data items as they are drawn.
 java.awt.Shape getItemShape(int row, int column)
          Returns a shape used to represent a data item.
 java.awt.Stroke getItemStroke(int row, int column)
          Returns the stroke used to draw data items.
 CategoryURLGenerator getItemURLGenerator(int series, int item)
          Returns the URL generator for an item.
 CategoryLabelGenerator getLabelGenerator(int series, int item)
          Returns the item label generator for the specified data item.
 LegendItem getLegendItem(int datasetIndex, int series)
          Returns a legend item for a series.
 ItemLabelPosition getNegativeItemLabelPosition()
          Returns the item label position for negative values in ALL series.
 ItemLabelPosition getNegativeItemLabelPosition(int row, int column)
          Returns the item label position for negative values.
 int getPassCount()
          Returns the number of passes through the dataset required by the renderer.
 CategoryPlot getPlot()
          Returns the plot that the renderer has been assigned to (where null indicates that the renderer is not currently assigned to a plot).
 ItemLabelPosition getPositiveItemLabelPosition()
          Returns the item label position for positive values in ALL series.
 ItemLabelPosition getPositiveItemLabelPosition(int row, int column)
          Returns the item label position for positive values.
 java.awt.Font getSeriesItemLabelFont(int series)
          Returns the font for all the item labels in a series.
 java.awt.Paint getSeriesItemLabelPaint(int series)
          Returns the paint used to draw the item labels for a series.
 CategoryURLGenerator getSeriesItemURLGenerator(int series)
          Returns the item URL generator for a series.
 CategoryLabelGenerator getSeriesLabelGenerator(int series)
          Returns the item label generator for a series.
 ItemLabelPosition getSeriesNegativeItemLabelPosition(int series)
          Returns the item label position for all negative values in a series.
 java.awt.Paint getSeriesOutlinePaint(int series)
          Returns the paint used to outline an item drawn by the renderer.
 java.awt.Stroke getSeriesOutlineStroke(int series)
          Returns the stroke used to outline the items in a series.
 java.awt.Paint getSeriesPaint(int series)
          Returns the paint used to fill an item drawn by the renderer.
 ItemLabelPosition getSeriesPositiveItemLabelPosition(int series)
          Returns the item label position for all positive values in a series.
 java.awt.Shape getSeriesShape(int series)
          Returns a shape used to represent the items in a series.
 java.awt.Stroke getSeriesStroke(int series)
          Returns the stroke used to draw the items in a series.
 CategoryToolTipGenerator getSeriesToolTipGenerator(int series)
          Returns the tool tip generator for the specified series (a "layer 1" generator).
 CategoryToolTipGenerator getToolTipGenerator()
          Returns the tool tip generator that will be used for ALL items in the dataset (the "layer 0" generator).
 CategoryToolTipGenerator getToolTipGenerator(int row, int column)
          Returns the tool tip generator that should be used for the specified item.
 CategoryItemRendererState initialise(java.awt.Graphics2D g2, java.awt.geom.Rectangle2D dataArea, CategoryPlot plot, int rendererIndex, PlotRenderingInfo info)
          Initialises the renderer.
 boolean isItemLabelVisible(int row, int column)
          Returns true if an item label is visible, and false otherwise.
 boolean isSeriesItemLabelsVisible(int series)
          Returns true if the item labels for a series are visible, and false otherwise.
 void removeChangeListener(RendererChangeListener listener)
          Removes a change listener.
 void setBaseItemLabelFont(java.awt.Font font)
          Sets the base item label font and sends a RendererChangeEvent to all registered listeners.
 void setBaseItemLabelPaint(java.awt.Paint paint)
          Sets the base item label paint and sends a RendererChangeEvent to all registered listeners.
 void setBaseItemLabelsVisible(boolean visible)
          Sets the base flag that controls whether or not item labels are visible.
 void setBaseItemLabelsVisible(java.lang.Boolean visible)
          Sets the base setting for item label visibility.
 void setBaseItemLabelsVisible(java.lang.Boolean visible, boolean notify)
          Sets the base visibility for item labels and, if requested, sends a RendererChangeEvent to all registered listeners.
 void setBaseItemURLGenerator(CategoryURLGenerator generator)
          Sets the base item URL generator.
 void setBaseLabelGenerator(CategoryLabelGenerator generator)
          Sets the base label generator and sends a RendererChangeEvent to all registered listeners.
 void setBaseNegativeItemLabelPosition(ItemLabelPosition position)
          Sets the base item label position for negative values and sends a RendererChangeEvent to all registered listeners.
 void setBaseNegativeItemLabelPosition(ItemLabelPosition position, boolean notify)
          Sets the base negative item label position and, if requested, sends a RendererChangeEvent to all registered listeners.
 void setBaseOutlinePaint(java.awt.Paint paint)
          Sets the base outline paint and sends a RendererChangeEvent to all registered listeners.
 void setBaseOutlineStroke(java.awt.Stroke stroke)
          Sets the base outline stroke and sends a RendererChangeEvent to all registered listeners.
 void setBasePaint(java.awt.Paint paint)
          Sets the base paint and sends a RendererChangeEvent to all registered listeners.
 void setBasePositiveItemLabelPosition(ItemLabelPosition position)
          Sets the base positive item label position.
 void setBasePositiveItemLabelPosition(ItemLabelPosition position, boolean notify)
          Sets the base positive item label position and, if requested, sends a RendererChangeEvent to all registered listeners.
 void setBaseShape(java.awt.Shape shape)
          Sets the base shape and sends a RendererChangeEvent to all registered listeners.
 void setBaseStroke(java.awt.Stroke stroke)
          Sets the base stroke.
 void setBaseToolTipGenerator(CategoryToolTipGenerator generator)
          Sets the base tool tip generator and sends a RendererChangeEvent to all registered listeners.
 void setItemLabelFont(java.awt.Font font)
          Sets the item label font for ALL series and sends a RendererChangeEvent to all registered listeners.
 void setItemLabelPaint(java.awt.Paint paint)
          Sets the item label paint for ALL series and sends a RendererChangeEvent to all registered listeners.
 void setItemLabelsVisible(boolean visible)
          Sets a flag that controls whether or not the item labels for ALL series are visible.
 void setItemLabelsVisible(java.lang.Boolean visible)
          Sets a flag that controls whether or not the item labels for ALL series are visible.
 void setItemLabelsVisible(java.lang.Boolean visible, boolean notify)
          Sets the visibility of item labels for ALL series and, if requested, sends a RendererChangeEvent to all registered listeners.
 void setItemURLGenerator(CategoryURLGenerator generator)
          Sets the item URL generator for ALL series.
 void setLabelGenerator(CategoryLabelGenerator generator)
          Sets the item label generator for ALL series and sends a RendererChangeEvent to all registered listeners.
 void setNegativeItemLabelPosition(ItemLabelPosition position)
          Sets the item label position for negative values in ALL series, and sends a RendererChangeEvent to all registered listeners.
 void setNegativeItemLabelPosition(ItemLabelPosition position, boolean notify)
          Sets the item label position for negative values in ALL series and (if requested) sends a RendererChangeEvent to all registered listeners.
 void setOutlinePaint(java.awt.Paint paint)
          Sets the outline paint for ALL series (optional).
 void setOutlineStroke(java.awt.Stroke stroke)
          Sets the outline stroke for ALL series and sends a RendererChangeEvent to all registered listeners.
 void setPaint(java.awt.Paint paint)
          Sets the paint to be used for ALL series, and sends a RendererChangeEvent to all registered listeners.
 void setPlot(CategoryPlot plot)
          Sets the plot that the renderer has been assigned to.
 void setPositiveItemLabelPosition(ItemLabelPosition position)
          Sets the item label position for positive values in ALL series, and sends a RendererChangeEvent to all registered listeners.
 void setPositiveItemLabelPosition(ItemLabelPosition position, boolean notify)
          Sets the positive item label position for ALL series and (if requested) sends a RendererChangeEvent to all registered listeners.
 void setSeriesItemLabelFont(int series, java.awt.Font font)
          Sets the item label font for a series and sends a RendererChangeEvent to all registered listeners.
 void setSeriesItemLabelPaint(int series, java.awt.Paint paint)
          Sets the item label paint for a series and sends a RendererChangeEvent to all registered listeners.
 void setSeriesItemLabelsVisible(int series, boolean visible)
          Sets a flag that controls the visibility of the item labels for a series.
 void setSeriesItemLabelsVisible(int series, java.lang.Boolean visible)
          Sets a flag that controls the visibility of the item labels for a series.
 void setSeriesItemLabelsVisible(int series, java.lang.Boolean visible, boolean notify)
          Sets the visibility of item labels for a series and, if requested, sends a RendererChangeEvent to all registered listeners.
 void setSeriesItemURLGenerator(int series, CategoryURLGenerator generator)
          Sets the item URL generator for a series.
 void setSeriesLabelGenerator(int series, CategoryLabelGenerator generator)
          Sets the item label generator for a series and sends a RendererChangeEvent to all registered listeners.
 void setSeriesNegativeItemLabelPosition(int series, ItemLabelPosition position)
          Sets the item label position for negative values in a series and sends a RendererChangeEvent to all registered listeners.
 void setSeriesNegativeItemLabelPosition(int series, ItemLabelPosition position, boolean notify)
          Sets the item label position for negative values in a series and (if requested) sends a RendererChangeEvent to all registered listeners.
 void setSeriesOutlinePaint(int series, java.awt.Paint paint)
          Sets the paint used for a series outline and sends a RendererChangeEvent to all registered listeners.
 void setSeriesOutlineStroke(int series, java.awt.Stroke stroke)
          Sets the outline stroke used for a series and sends a RendererChangeEvent to all registered listeners.
 void setSeriesPaint(int series, java.awt.Paint paint)
          Sets the paint used for a series and sends a RendererChangeEvent to all registered listeners.
 void setSeriesPositiveItemLabelPosition(int series, ItemLabelPosition position)
          Sets the item label position for all positive values in a series and sends a RendererChangeEvent to all registered listeners.
 void setSeriesPositiveItemLabelPosition(int series, ItemLabelPosition position, boolean notify)
          Sets the item label position for all positive values in a series and (if requested) sends a RendererChangeEvent to all registered listeners.
 void setSeriesShape(int series, java.awt.Shape shape)
          Sets the shape used for a series and sends a RendererChangeEvent to all registered listeners.
 void setSeriesStroke(int series, java.awt.Stroke stroke)
          Sets the stroke used for a series and sends a RendererChangeEvent to all registered listeners.
 void setSeriesToolTipGenerator(int series, CategoryToolTipGenerator generator)
          Sets the tool tip generator for a series and sends a RendererChangeEvent to all registered listeners.
 void setShape(java.awt.Shape shape)
          Sets the shape for ALL series (optional) and sends a RendererChangeEvent to all registered listeners.
 void setStroke(java.awt.Stroke stroke)
          Sets the stroke for ALL series and sends a RendererChangeEvent to all registered listeners.
 void setToolTipGenerator(CategoryToolTipGenerator generator)
          Sets the tool tip generator for ALL series and sends a RendererChangeEvent to all registered listeners.
 
Methods inherited from interface org.jfree.chart.LegendItemSource
getLegendItems
 

Method Detail

getPassCount

public int getPassCount()
Returns the number of passes through the dataset required by the renderer. Usually this will be one, but some renderers may use a second or third pass to overlay items on top of things that were drawn in an earlier pass.

Returns:
The pass count.

getPlot

public CategoryPlot getPlot()
Returns the plot that the renderer has been assigned to (where null indicates that the renderer is not currently assigned to a plot).

Returns:
The plot (possibly null).

setPlot

public void setPlot(CategoryPlot plot)
Sets the plot that the renderer has been assigned to. This method is usually called by the CategoryPlot, in normal usage you shouldn't need to call this method directly.

Parameters:
plot - the plot (null not permitted).

addChangeListener

public void addChangeListener(RendererChangeListener listener)
Adds a change listener.

Parameters:
listener - the listener.

removeChangeListener

public void removeChangeListener(RendererChangeListener listener)
Removes a change listener.

Parameters:
listener - the listener.

findRangeBounds

public Range findRangeBounds(CategoryDataset dataset)
Returns the range of values the renderer requires to display all the items from the specified dataset.

Parameters:
dataset - the dataset (null permitted).
Returns:
The range (or null if the dataset is null or empty).

initialise

public CategoryItemRendererState initialise(java.awt.Graphics2D g2,
                                            java.awt.geom.Rectangle2D dataArea,
                                            CategoryPlot plot,
                                            int rendererIndex,
                                            PlotRenderingInfo info)
Initialises the renderer. This method will be called before the first item is rendered, giving the renderer an opportunity to initialise any state information it wants to maintain. The renderer can do nothing if it chooses.

Parameters:
g2 - the graphics device.
dataArea - the area inside the axes.
plot - the plot.
rendererIndex - the renderer index.
info - collects chart rendering information for return to caller.
Returns:
A state object (maintains state information relevant to one chart drawing).

getItemPaint

public java.awt.Paint getItemPaint(int row,
                                   int column)
Returns the paint used to fill data items as they are drawn.

Parameters:
row - the row (or series) index (zero-based).
column - the column (or category) index (zero-based).
Returns:
the paint (never null).

setPaint

public void setPaint(java.awt.Paint paint)
Sets the paint to be used for ALL series, and sends a RendererChangeEvent to all registered listeners. If this is null, the renderer will use the paint for the series.

Parameters:
paint - the paint (null permitted).

getSeriesPaint

public java.awt.Paint getSeriesPaint(int series)
Returns the paint used to fill an item drawn by the renderer.

Parameters:
series - the series index (zero-based).
Returns:
the paint (never null).

setSeriesPaint

public void setSeriesPaint(int series,
                           java.awt.Paint paint)
Sets the paint used for a series and sends a RendererChangeEvent to all registered listeners.

Parameters:
series - the series index (zero-based).
paint - the paint (null permitted).

getBasePaint

public java.awt.Paint getBasePaint()
Returns the base paint.

Returns:
the base paint (never null).

setBasePaint

public void setBasePaint(java.awt.Paint paint)
Sets the base paint and sends a RendererChangeEvent to all registered listeners.

Parameters:
paint - the paint (null not permitted).

getItemOutlinePaint

public java.awt.Paint getItemOutlinePaint(int row,
                                          int column)
Returns the paint used to outline data items as they are drawn.

Parameters:
row - the row (or series) index (zero-based).
column - the column (or category) index (zero-based).
Returns:
the paint (never null).

setOutlinePaint

public void setOutlinePaint(java.awt.Paint paint)
Sets the outline paint for ALL series (optional).

Parameters:
paint - the paint (null permitted).

getSeriesOutlinePaint

public java.awt.Paint getSeriesOutlinePaint(int series)
Returns the paint used to outline an item drawn by the renderer.

Parameters:
series - the series (zero-based index).
Returns:
the paint (never null).

setSeriesOutlinePaint

public void setSeriesOutlinePaint(int series,
                                  java.awt.Paint paint)
Sets the paint used for a series outline and sends a RendererChangeEvent to all registered listeners.

Parameters:
series - the series index (zero-based).
paint - the paint (null permitted).

getBaseOutlinePaint

public java.awt.Paint getBaseOutlinePaint()
Returns the base outline paint.

Returns:
the paint (never null).

setBaseOutlinePaint

public void setBaseOutlinePaint(java.awt.Paint paint)
Sets the base outline paint and sends a RendererChangeEvent to all registered listeners.

Parameters:
paint - the paint (null not permitted).

getItemStroke

public java.awt.Stroke getItemStroke(int row,
                                     int column)
Returns the stroke used to draw data items.

Parameters:
row - the row (or series) index (zero-based).
column - the column (or category) index (zero-based).
Returns:
the stroke (never null).

setStroke

public void setStroke(java.awt.Stroke stroke)
Sets the stroke for ALL series and sends a RendererChangeEvent to all registered listeners.

Parameters:
stroke - the stroke (null permitted).

getSeriesStroke

public java.awt.Stroke getSeriesStroke(int series)
Returns the stroke used to draw the items in a series.

Parameters:
series - the series (zero-based index).
Returns:
the stroke (never null).

setSeriesStroke

public void setSeriesStroke(int series,
                            java.awt.Stroke stroke)
Sets the stroke used for a series and sends a RendererChangeEvent to all registered listeners.

Parameters:
series - the series index (zero-based).
stroke - the stroke (null permitted).

getBaseStroke

public java.awt.Stroke getBaseStroke()
Returns the base stroke.

Returns:
the base stroke (never null).

setBaseStroke

public void setBaseStroke(java.awt.Stroke stroke)
Sets the base stroke.

Parameters:
stroke - the stroke (null not permitted).

getItemOutlineStroke

public java.awt.Stroke getItemOutlineStroke(int row,
                                            int column)
Returns the stroke used to outline data items.

The default implementation passes control to the getSeriesOutlineStroke method. You can override this method if you require different behaviour.

Parameters:
row - the row (or series) index (zero-based).
column - the column (or category) index (zero-based).
Returns:
the stroke (never null).

setOutlineStroke

public void setOutlineStroke(java.awt.Stroke stroke)
Sets the outline stroke for ALL series and sends a RendererChangeEvent to all registered listeners.

Parameters:
stroke - the stroke (null permitted).

getSeriesOutlineStroke

public java.awt.Stroke getSeriesOutlineStroke(int series)
Returns the stroke used to outline the items in a series.

Parameters:
series - the series (zero-based index).
Returns:
the stroke (never null).

setSeriesOutlineStroke

public void setSeriesOutlineStroke(int series,
                                   java.awt.Stroke stroke)
Sets the outline stroke used for a series and sends a RendererChangeEvent to all registered listeners.

Parameters:
series - the series index (zero-based).
stroke - the stroke (null permitted).

getBaseOutlineStroke

public java.awt.Stroke getBaseOutlineStroke()
Returns the base outline stroke.

Returns:
the stroke (never null).

setBaseOutlineStroke

public void setBaseOutlineStroke(java.awt.Stroke stroke)
Sets the base outline stroke and sends a RendererChangeEvent to all registered listeners.

Parameters:
stroke - the stroke (null not permitted).

getItemShape

public java.awt.Shape getItemShape(int row,
                                   int column)
Returns a shape used to represent a data item.

Parameters:
row - the row (or series) index (zero-based).
column - the column (or category) index (zero-based).
Returns:
the shape (never null).

setShape

public void setShape(java.awt.Shape shape)
Sets the shape for ALL series (optional) and sends a RendererChangeEvent to all registered listeners.

Parameters:
shape - the shape (null permitted).

getSeriesShape

public java.awt.Shape getSeriesShape(int series)
Returns a shape used to represent the items in a series.

Parameters:
series - the series (zero-based index).
Returns:
the shape (never null).

setSeriesShape

public void setSeriesShape(int series,
                           java.awt.Shape shape)
Sets the shape used for a series and sends a RendererChangeEvent to all registered listeners.

Parameters:
series - the series index (zero-based).
shape - the shape (null permitted).

getBaseShape

public java.awt.Shape getBaseShape()
Returns the base shape.

Returns:
the shape (never null).

setBaseShape

public void setBaseShape(java.awt.Shape shape)
Sets the base shape and sends a RendererChangeEvent to all registered listeners.

Parameters:
shape - the shape (null not permitted).

isItemLabelVisible

public boolean isItemLabelVisible(int row,
                                  int column)
Returns true if an item label is visible, and false otherwise.

Parameters:
row - the row index (zero-based).
column - the column index (zero-based).
Returns:
a boolean.

isSeriesItemLabelsVisible

public boolean isSeriesItemLabelsVisible(int series)
Returns true if the item labels for a series are visible, and false otherwise.

Parameters:
series - the series index (zero-based).
Returns:
a boolean.

setItemLabelsVisible

public void setItemLabelsVisible(boolean visible)
Sets a flag that controls whether or not the item labels for ALL series are visible.

Parameters:
visible - the flag.

setItemLabelsVisible

public void setItemLabelsVisible(java.lang.Boolean visible)
Sets a flag that controls whether or not the item labels for ALL series are visible.

Parameters:
visible - the flag (null permitted).

setItemLabelsVisible

public void setItemLabelsVisible(java.lang.Boolean visible,
                                 boolean notify)
Sets the visibility of item labels for ALL series and, if requested, sends a RendererChangeEvent to all registered listeners.

Parameters:
visible - a flag that controls whether or not the item labels are visible (null permitted).
notify - a flag that controls whether or not listeners are notified.

setSeriesItemLabelsVisible

public void setSeriesItemLabelsVisible(int series,
                                       boolean visible)
Sets a flag that controls the visibility of the item labels for a series.

Parameters:
series - the series index (zero-based).
visible - the flag.

setSeriesItemLabelsVisible

public void setSeriesItemLabelsVisible(int series,
                                       java.lang.Boolean visible)
Sets a flag that controls the visibility of the item labels for a series.

Parameters:
series - the series index (zero-based).
visible - the flag (null permitted).

setSeriesItemLabelsVisible

public void setSeriesItemLabelsVisible(int series,
                                       java.lang.Boolean visible,
                                       boolean notify)
Sets the visibility of item labels for a series and, if requested, sends a RendererChangeEvent to all registered listeners.

Parameters:
series - the series index (zero-based).
visible - the visible flag.
notify - a flag that controls whether or not listeners are notified.

getBaseItemLabelsVisible

public java.lang.Boolean getBaseItemLabelsVisible()
Returns the base setting for item label visibility.

Returns:
A flag (possibly null).

setBaseItemLabelsVisible

public void setBaseItemLabelsVisible(boolean visible)
Sets the base flag that controls whether or not item labels are visible.

Parameters:
visible - the flag.

setBaseItemLabelsVisible

public void setBaseItemLabelsVisible(java.lang.Boolean visible)
Sets the base setting for item label visibility.

Parameters:
visible - the flag (null permitted).

setBaseItemLabelsVisible

public void setBaseItemLabelsVisible(java.lang.Boolean visible,
                                     boolean notify)
Sets the base visibility for item labels and, if requested, sends a RendererChangeEvent to all registered listeners.

Parameters:
visible - the visibility flag.
notify - a flag that controls whether or not listeners are notified.

getLabelGenerator

public CategoryLabelGenerator getLabelGenerator(int series,
                                                int item)
Returns the item label generator for the specified data item.

Parameters:
series - the series index (zero-based).
item - the item index (zero-based).
Returns:
The generator (possibly null).

getSeriesLabelGenerator

public CategoryLabelGenerator getSeriesLabelGenerator(int series)
Returns the item label generator for a series.

Parameters:
series - the series index (zero-based).
Returns:
The label generator (possibly null).

setLabelGenerator

public void setLabelGenerator(CategoryLabelGenerator generator)
Sets the item label generator for ALL series and sends a RendererChangeEvent to all registered listeners. This overrides the per-series settings.

Parameters:
generator - the generator (null permitted).

setSeriesLabelGenerator

public void setSeriesLabelGenerator(int series,
                                    CategoryLabelGenerator generator)
Sets the item label generator for a series and sends a RendererChangeEvent to all registered listeners.

Parameters:
series - the series index (zero-based).
generator - the generator.

getBaseLabelGenerator

public CategoryLabelGenerator getBaseLabelGenerator()
Returns the base label generator.

Returns:
The generator (possibly null).

setBaseLabelGenerator

public void setBaseLabelGenerator(CategoryLabelGenerator generator)
Sets the base label generator and sends a RendererChangeEvent to all registered listeners.

Parameters:
generator - the generator (null permitted).

getToolTipGenerator

public CategoryToolTipGenerator getToolTipGenerator(int row,
                                                    int column)
Returns the tool tip generator that should be used for the specified item. This method looks up the generator using the "three-layer" approach outlined in the general description of this interface.

Parameters:
row - the row index (zero-based).
column - the column index (zero-based).
Returns:
The generator (possibly null).

getToolTipGenerator

public CategoryToolTipGenerator getToolTipGenerator()
Returns the tool tip generator that will be used for ALL items in the dataset (the "layer 0" generator).

Returns:
A tool tip generator (possibly null).

setToolTipGenerator

public void setToolTipGenerator(CategoryToolTipGenerator generator)
Sets the tool tip generator for ALL series and sends a RendererChangeEvent to all registered listeners.

Parameters:
generator - the generator (null permitted).

getSeriesToolTipGenerator

public CategoryToolTipGenerator getSeriesToolTipGenerator(int series)
Returns the tool tip generator for the specified series (a "layer 1" generator).

Parameters:
series - the series index (zero-based).
Returns:
The tool tip generator (possibly null).

setSeriesToolTipGenerator

public void setSeriesToolTipGenerator(int series,
                                      CategoryToolTipGenerator generator)
Sets the tool tip generator for a series and sends a RendererChangeEvent to all registered listeners.

Parameters:
series - the series index (zero-based).
generator - the generator (null permitted).

getBaseToolTipGenerator

public CategoryToolTipGenerator getBaseToolTipGenerator()
Returns the base tool tip generator (the "layer 2" generator).

Returns:
The tool tip generator (possibly null).

setBaseToolTipGenerator

public void setBaseToolTipGenerator(CategoryToolTipGenerator generator)
Sets the base tool tip generator and sends a RendererChangeEvent to all registered listeners.

Parameters:
generator - the generator (null permitted).

getItemLabelFont

public java.awt.Font getItemLabelFont(int row,
                                      int column)
Returns the font for an item label.

Parameters:
row - the row index (zero-based).
column - the column index (zero-based).
Returns:
The font (never null).

getItemLabelFont

public java.awt.Font getItemLabelFont()
Returns the font used for all item labels. This may be null, in which case the per series font settings will apply.

Returns:
The font (possibly null).

setItemLabelFont

public void setItemLabelFont(java.awt.Font font)
Sets the item label font for ALL series and sends a RendererChangeEvent to all registered listeners. You can set this to null if you prefer to set the font on a per series basis.

Parameters:
font - the font (null permitted).

getSeriesItemLabelFont

public java.awt.Font getSeriesItemLabelFont(int series)
Returns the font for all the item labels in a series.

Parameters:
series - the series index (zero-based).
Returns:
The font (possibly null).

setSeriesItemLabelFont

public void setSeriesItemLabelFont(int series,
                                   java.awt.Font font)
Sets the item label font for a series and sends a RendererChangeEvent to all registered listeners.

Parameters:
series - the series index (zero-based).
font - the font (null permitted).

getBaseItemLabelFont

public java.awt.Font getBaseItemLabelFont()
Returns the base item label font (this is used when no other font setting is available).

Returns:
The font (never null).

setBaseItemLabelFont

public void setBaseItemLabelFont(java.awt.Font font)
Sets the base item label font and sends a RendererChangeEvent to all registered listeners.

Parameters:
font - the font (null not permitted).

getItemLabelPaint

public java.awt.Paint getItemLabelPaint(int row,
                                        int column)
Returns the paint used to draw an item label.

Parameters:
row - the row index (zero based).
column - the column index (zero based).
Returns:
The paint (never null).

getItemLabelPaint

public java.awt.Paint getItemLabelPaint()
Returns the paint used for all item labels. This may be null, in which case the per series paint settings will apply.

Returns:
The paint (possibly null).

setItemLabelPaint

public void setItemLabelPaint(java.awt.Paint paint)
Sets the item label paint for ALL series and sends a RendererChangeEvent to all registered listeners.

Parameters:
paint - the paint (null permitted).

getSeriesItemLabelPaint

public java.awt.Paint getSeriesItemLabelPaint(int series)
Returns the paint used to draw the item labels for a series.

Parameters:
series - the series index (zero based).
Returns:
The paint (possibly null).

setSeriesItemLabelPaint

public void setSeriesItemLabelPaint(int series,
                                    java.awt.Paint paint)
Sets the item label paint for a series and sends a RendererChangeEvent to all registered listeners.

Parameters:
series - the series (zero based index).
paint - the paint (null permitted).

getBaseItemLabelPaint

public java.awt.Paint getBaseItemLabelPaint()
Returns the base item label paint.

Returns:
The paint (never null).

setBaseItemLabelPaint

public void setBaseItemLabelPaint(java.awt.Paint paint)
Sets the base item label paint and sends a RendererChangeEvent to all registered listeners.

Parameters:
paint - the paint (null not permitted).

getPositiveItemLabelPosition

public ItemLabelPosition getPositiveItemLabelPosition(int row,
                                                      int column)
Returns the item label position for positive values.

Parameters:
row - the row index (zero-based).
column - the column index (zero-based).
Returns:
the item label position (never null).

getPositiveItemLabelPosition

public ItemLabelPosition getPositiveItemLabelPosition()
Returns the item label position for positive values in ALL series.

Returns:
the item label position (possibly null).

setPositiveItemLabelPosition

public void setPositiveItemLabelPosition(ItemLabelPosition position)
Sets the item label position for positive values in ALL series, and sends a RendererChangeEvent to all registered listeners. You need to set this to null to expose the settings for individual series.

Parameters:
position - the position (null permitted).

setPositiveItemLabelPosition

public void setPositiveItemLabelPosition(ItemLabelPosition position,
                                         boolean notify)
Sets the positive item label position for ALL series and (if requested) sends a RendererChangeEvent to all registered listeners.

Parameters:
position - the position (null permitted).
notify - notify registered listeners?

getSeriesPositiveItemLabelPosition

public ItemLabelPosition getSeriesPositiveItemLabelPosition(int series)
Returns the item label position for all positive values in a series.

Parameters:
series - the series index (zero-based).
Returns:
The item label position.

setSeriesPositiveItemLabelPosition

public void setSeriesPositiveItemLabelPosition(int series,
                                               ItemLabelPosition position)
Sets the item label position for all positive values in a series and sends a RendererChangeEvent to all registered listeners.

Parameters:
series - the series index (zero-based).
position - the position (null permitted).

setSeriesPositiveItemLabelPosition

public void setSeriesPositiveItemLabelPosition(int series,
                                               ItemLabelPosition position,
                                               boolean notify)
Sets the item label position for all positive values in a series and (if requested) sends a RendererChangeEvent to all registered listeners.

Parameters:
series - the series index (zero-based).
position - the position (null permitted).
notify - notify registered listeners?

getBasePositiveItemLabelPosition

public ItemLabelPosition getBasePositiveItemLabelPosition()
Returns the base positive item label position.

Returns:
The position.

setBasePositiveItemLabelPosition

public void setBasePositiveItemLabelPosition(ItemLabelPosition position)
Sets the base positive item label position.

Parameters:
position - the position.

setBasePositiveItemLabelPosition

public void setBasePositiveItemLabelPosition(ItemLabelPosition position,
                                             boolean notify)
Sets the base positive item label position and, if requested, sends a RendererChangeEvent to all registered listeners.

Parameters:
position - the position.
notify - notify registered listeners?

getNegativeItemLabelPosition

public ItemLabelPosition getNegativeItemLabelPosition(int row,
                                                      int column)
Returns the item label position for negative values. This method can be overridden to provide customisation of the item label position for individual data items.

Parameters:
row - the row index (zero-based).
column - the column (zero-based).
Returns:
the item label position.

getNegativeItemLabelPosition

public ItemLabelPosition getNegativeItemLabelPosition()
Returns the item label position for negative values in ALL series.

Returns:
the item label position (possibly null).

setNegativeItemLabelPosition

public void setNegativeItemLabelPosition(ItemLabelPosition position)
Sets the item label position for negative values in ALL series, and sends a RendererChangeEvent to all registered listeners. You need to set this to null to expose the settings for individual series.

Parameters:
position - the position (null permitted).

setNegativeItemLabelPosition

public void setNegativeItemLabelPosition(ItemLabelPosition position,
                                         boolean notify)
Sets the item label position for negative values in ALL series and (if requested) sends a RendererChangeEvent to all registered listeners.

Parameters:
position - the position (null permitted).
notify - notify registered listeners?

getSeriesNegativeItemLabelPosition

public ItemLabelPosition getSeriesNegativeItemLabelPosition(int series)
Returns the item label position for all negative values in a series.

Parameters:
series - the series index (zero-based).
Returns:
The item label position.

setSeriesNegativeItemLabelPosition

public void setSeriesNegativeItemLabelPosition(int series,
                                               ItemLabelPosition position)
Sets the item label position for negative values in a series and sends a RendererChangeEvent to all registered listeners.

Parameters:
series - the series index (zero-based).
position - the position (null permitted).

setSeriesNegativeItemLabelPosition

public void setSeriesNegativeItemLabelPosition(int series,
                                               ItemLabelPosition position,
                                               boolean notify)
Sets the item label position for negative values in a series and (if requested) sends a RendererChangeEvent to all registered listeners.

Parameters:
series - the series index (zero-based).
position - the position (null permitted).
notify - notify registered listeners?

getBaseNegativeItemLabelPosition

public ItemLabelPosition getBaseNegativeItemLabelPosition()
Returns the base item label position for negative values.

Returns:
The position.

setBaseNegativeItemLabelPosition

public void setBaseNegativeItemLabelPosition(ItemLabelPosition position)
Sets the base item label position for negative values and sends a RendererChangeEvent to all registered listeners.

Parameters:
position - the position.

setBaseNegativeItemLabelPosition

public void setBaseNegativeItemLabelPosition(ItemLabelPosition position,
                                             boolean notify)
Sets the base negative item label position and, if requested, sends a RendererChangeEvent to all registered listeners.

Parameters:
position - the position.
notify - notify registered listeners?

getItemURLGenerator

public CategoryURLGenerator getItemURLGenerator(int series,
                                                int item)
Returns the URL generator for an item.

Parameters:
series - the series index (zero-based).
item - the item index (zero-based).
Returns:
The item URL generator.

getSeriesItemURLGenerator

public CategoryURLGenerator getSeriesItemURLGenerator(int series)
Returns the item URL generator for a series.

Parameters:
series - the series index (zero-based).
Returns:
The URL generator.

setItemURLGenerator

public void setItemURLGenerator(CategoryURLGenerator generator)
Sets the item URL generator for ALL series.

Parameters:
generator - the generator.

setSeriesItemURLGenerator

public void setSeriesItemURLGenerator(int series,
                                      CategoryURLGenerator generator)
Sets the item URL generator for a series.

Parameters:
series - the series index (zero-based).
generator - the generator.

getBaseItemURLGenerator

public CategoryURLGenerator getBaseItemURLGenerator()
Returns the base item URL generator.

Returns:
The item URL generator.

setBaseItemURLGenerator

public void setBaseItemURLGenerator(CategoryURLGenerator generator)
Sets the base item URL generator.

Parameters:
generator - the item URL generator.

getLegendItem

public LegendItem getLegendItem(int datasetIndex,
                                int series)
Returns a legend item for a series.

Parameters:
datasetIndex - the dataset index (zero-based).
series - the series (zero-based index).
Returns:
The legend item (possibly null).

drawBackground

public void drawBackground(java.awt.Graphics2D g2,
                           CategoryPlot plot,
                           java.awt.geom.Rectangle2D dataArea)
Draws a background for the data area.

Parameters:
g2 - the graphics device.
plot - the plot.
dataArea - the data area.

drawOutline

public void drawOutline(java.awt.Graphics2D g2,
                        CategoryPlot plot,
                        java.awt.geom.Rectangle2D dataArea)
Draws an outline for the data area.

Parameters:
g2 - the graphics device.
plot - the plot.
dataArea - the data area.

drawItem

public void drawItem(java.awt.Graphics2D g2,
                     CategoryItemRendererState state,
                     java.awt.geom.Rectangle2D dataArea,
                     CategoryPlot plot,
                     CategoryAxis domainAxis,
                     ValueAxis rangeAxis,
                     CategoryDataset dataset,
                     int row,
                     int column,
                     int pass)
Draws a single data item.

Parameters:
g2 - the graphics device.
state - state information for one chart.
dataArea - the data plot area.
plot - the plot.
domainAxis - the domain axis.
rangeAxis - the range axis.
dataset - the data.
row - the row index (zero-based).
column - the column index (zero-based).
pass - the pass index.

drawDomainGridline

public void drawDomainGridline(java.awt.Graphics2D g2,
                               CategoryPlot plot,
                               java.awt.geom.Rectangle2D dataArea,
                               double value)
Draws a grid line against the domain axis.

Parameters:
g2 - the graphics device.
plot - the plot.
dataArea - the area for plotting data (not yet adjusted for any 3D effect).
value - the value.

drawRangeGridline

public void drawRangeGridline(java.awt.Graphics2D g2,
                              CategoryPlot plot,
                              ValueAxis axis,
                              java.awt.geom.Rectangle2D dataArea,
                              double value)
Draws a grid line against the range axis.

Parameters:
g2 - the graphics device.
plot - the plot.
axis - the value axis.
dataArea - the area for plotting data (not yet adjusted for any 3D effect).
value - the value.

drawRangeMarker

public void drawRangeMarker(java.awt.Graphics2D g2,
                            CategoryPlot plot,
                            ValueAxis axis,
                            Marker marker,
                            java.awt.geom.Rectangle2D dataArea)
Draws a line (or some other marker) to indicate a particular value on the range axis.

Parameters:
g2 - the graphics device.
plot - the plot.
axis - the value axis.
marker - the marker.
dataArea - the area for plotting data (not including 3D effect).