Header
And More


org.jfree.chart.renderer.category
Class AbstractCategoryItemRenderer

java.lang.Object
  extended by org.jfree.chart.renderer.AbstractRenderer
      extended by org.jfree.chart.renderer.category.AbstractCategoryItemRenderer
All Implemented Interfaces:
java.io.Serializable, java.lang.Cloneable, LegendItemSource, CategoryItemRenderer, org.jfree.util.PublicCloneable
Direct Known Subclasses:
AreaRenderer, BarRenderer, BoxAndWhiskerRenderer, CategoryStepRenderer, LevelRenderer, LineAndShapeRenderer, MinMaxCategoryRenderer, ScatterRenderer

public abstract class AbstractCategoryItemRenderer
extends AbstractRenderer
implements CategoryItemRenderer, java.lang.Cloneable, org.jfree.util.PublicCloneable, java.io.Serializable

An abstract base class that you can use to implement a new CategoryItemRenderer. When you create a new CategoryItemRenderer you are not required to extend this class, but it makes the job easier.

See Also:
Serialized Form

Field Summary
 
Fields inherited from class org.jfree.chart.renderer.AbstractRenderer
DEFAULT_OUTLINE_PAINT, DEFAULT_OUTLINE_STROKE, DEFAULT_PAINT, DEFAULT_SHAPE, DEFAULT_STROKE, DEFAULT_VALUE_LABEL_FONT, DEFAULT_VALUE_LABEL_PAINT, ZERO
 
Constructor Summary
protected AbstractCategoryItemRenderer()
          Creates a new renderer with no tool tip generator and no URL generator.
 
Method Summary
protected  void addEntity(EntityCollection entities, java.awt.Shape hotspot, CategoryDataset dataset, int row, int column, double entityX, double entityY)
          Adds an entity to the collection.
protected  void addItemEntity(EntityCollection entities, CategoryDataset dataset, int row, int column, java.awt.Shape hotspot)
          Adds an entity with the specified hotspot.
protected  java.awt.geom.Point2D calculateDomainMarkerTextAnchorPoint(java.awt.Graphics2D g2, PlotOrientation orientation, java.awt.geom.Rectangle2D dataArea, java.awt.geom.Rectangle2D markerArea, org.jfree.ui.RectangleInsets markerOffset, org.jfree.ui.LengthAdjustmentType labelOffsetType, org.jfree.ui.RectangleAnchor anchor)
          Calculates the (x, y) coordinates for drawing the label for a marker on the range axis.
protected  java.awt.geom.Point2D calculateRangeMarkerTextAnchorPoint(java.awt.Graphics2D g2, PlotOrientation orientation, java.awt.geom.Rectangle2D dataArea, java.awt.geom.Rectangle2D markerArea, org.jfree.ui.RectangleInsets markerOffset, org.jfree.ui.LengthAdjustmentType labelOffsetType, org.jfree.ui.RectangleAnchor anchor)
          Calculates the (x, y) coordinates for drawing a marker label.
 java.lang.Object clone()
          Returns an independent copy of the renderer.
protected  CategoryItemRendererState createState(PlotRenderingInfo info)
          Creates a new state instance---this method is called from the initialise(Graphics2D, Rectangle2D, CategoryPlot, int, PlotRenderingInfo) method.
 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 drawDomainMarker(java.awt.Graphics2D g2, CategoryPlot plot, CategoryAxis axis, CategoryMarker marker, java.awt.geom.Rectangle2D dataArea)
          Draws a marker for the domain axis.
protected  void drawItemLabel(java.awt.Graphics2D g2, PlotOrientation orientation, CategoryDataset dataset, int row, int column, double x, double y, boolean negative)
          Draws an item label.
 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 drawRangeLine(java.awt.Graphics2D g2, CategoryPlot plot, ValueAxis axis, java.awt.geom.Rectangle2D dataArea, double value, java.awt.Paint paint, java.awt.Stroke stroke)
          Draws a line perpendicular to the range axis.
 void drawRangeMarker(java.awt.Graphics2D g2, CategoryPlot plot, ValueAxis axis, Marker marker, java.awt.geom.Rectangle2D dataArea)
          Draws a marker for the range axis.
 boolean equals(java.lang.Object obj)
          Tests this renderer for equality with another object.
 Range findRangeBounds(CategoryDataset dataset)
          Returns the range of values the renderer requires to display all the items from the specified dataset.
protected  Range findRangeBounds(CategoryDataset dataset, boolean includeInterval)
          Returns the range of values the renderer requires to display all the items from the specified dataset.
 CategoryItemLabelGenerator getBaseItemLabelGenerator()
          Returns the base item label generator.
 CategoryURLGenerator getBaseItemURLGenerator()
          Returns the base item URL generator.
 CategoryToolTipGenerator getBaseToolTipGenerator()
          Returns the base tool tip generator (the "layer 2" generator).
 int getColumnCount()
          Returns the number of columns in the dataset.
protected  CategoryAxis getDomainAxis(CategoryPlot plot, int index)
          Returns a domain axis for a plot.
 DrawingSupplier getDrawingSupplier()
          Returns the drawing supplier from the plot.
 CategoryItemLabelGenerator getItemLabelGenerator(int row, int column)
          Returns the item label generator for a data item.
 double getItemMiddle(java.lang.Comparable rowKey, java.lang.Comparable columnKey, CategoryDataset dataset, CategoryAxis axis, java.awt.geom.Rectangle2D area, org.jfree.ui.RectangleEdge edge)
          Returns the Java2D coordinate for the middle of the specified data item.
 CategoryURLGenerator getItemURLGenerator(int row, int column)
          Returns the URL generator for a data item.
 LegendItem getLegendItem(int datasetIndex, int series)
          Returns a legend item for a series.
 CategorySeriesLabelGenerator getLegendItemLabelGenerator()
          Returns the legend item label generator.
 LegendItemCollection getLegendItems()
          Returns a (possibly empty) collection of legend items for the series that this renderer is responsible for drawing.
 CategorySeriesLabelGenerator getLegendItemToolTipGenerator()
          Returns the legend item tool tip generator.
 CategorySeriesLabelGenerator getLegendItemURLGenerator()
          Returns the legend item URL generator.
 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).
protected  ValueAxis getRangeAxis(CategoryPlot plot, int index)
          Returns a range axis for a plot.
 int getRowCount()
          Returns the number of rows in the dataset.
 CategoryItemLabelGenerator getSeriesItemLabelGenerator(int series)
          Returns the item label generator for a series.
 CategoryURLGenerator getSeriesItemURLGenerator(int series)
          Returns the URL generator for a series.
 CategoryToolTipGenerator getSeriesToolTipGenerator(int series)
          Returns the tool tip generator for the specified series (a "layer 1" generator).
 CategoryToolTipGenerator getToolTipGenerator()
          Deprecated. This method should no longer be used (as of version 1.0.6). It is sufficient to rely on getSeriesToolTipGenerator(int) and getBaseToolTipGenerator().
 CategoryToolTipGenerator getToolTipGenerator(int row, int column)
          Returns the tool tip generator that should be used for the specified item.
 int hashCode()
          Returns a hash code for the renderer.
 CategoryItemRendererState initialise(java.awt.Graphics2D g2, java.awt.geom.Rectangle2D dataArea, CategoryPlot plot, int rendererIndex, PlotRenderingInfo info)
          Initialises the renderer and returns a state object that will be used for the remainder of the drawing process for a single chart.
 void setBaseItemLabelGenerator(CategoryItemLabelGenerator generator)
          Sets the base item label generator and sends a RendererChangeEvent to all registered listeners.
 void setBaseItemURLGenerator(CategoryURLGenerator generator)
          Sets the base item URL generator and sends a RendererChangeEvent to all registered listeners.
 void setBaseToolTipGenerator(CategoryToolTipGenerator generator)
          Sets the base tool tip generator and sends a RendererChangeEvent to all registered listeners.
 void setItemLabelGenerator(CategoryItemLabelGenerator generator)
          Deprecated. This method should no longer be used (as of version 1.0.6). It is sufficient to rely on setSeriesItemLabelGenerator(int, CategoryItemLabelGenerator) and setBaseItemLabelGenerator(CategoryItemLabelGenerator).
 void setItemURLGenerator(CategoryURLGenerator generator)
          Deprecated. This method should no longer be used (as of version 1.0.6). It is sufficient to rely on setSeriesItemURLGenerator(int, CategoryURLGenerator) and setBaseItemURLGenerator(CategoryURLGenerator).
 void setLegendItemLabelGenerator(CategorySeriesLabelGenerator generator)
          Sets the legend item label generator and sends a RendererChangeEvent to all registered listeners.
 void setLegendItemToolTipGenerator(CategorySeriesLabelGenerator generator)
          Sets the legend item tool tip generator and sends a RendererChangeEvent to all registered listeners.
 void setLegendItemURLGenerator(CategorySeriesLabelGenerator generator)
          Sets the legend item URL generator and sends a RendererChangeEvent to all registered listeners.
 void setPlot(CategoryPlot plot)
          Sets the plot that the renderer has been assigned to.
 void setSeriesItemLabelGenerator(int series, CategoryItemLabelGenerator generator)
          Sets the item label generator for a series and sends a RendererChangeEvent to all registered listeners.
 void setSeriesItemURLGenerator(int series, CategoryURLGenerator generator)
          Sets the URL generator 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 setToolTipGenerator(CategoryToolTipGenerator generator)
          Deprecated. This method should no longer be used (as of version 1.0.6). It is sufficient to rely on setSeriesToolTipGenerator(int, CategoryToolTipGenerator) and setBaseToolTipGenerator(CategoryToolTipGenerator).
protected  void updateCrosshairValues(CategoryCrosshairState crosshairState, java.lang.Comparable rowKey, java.lang.Comparable columnKey, double value, int datasetIndex, double transX, double transY, PlotOrientation orientation)
          Considers the current (x, y) coordinate and updates the crosshair point if it meets the criteria (usually means the (x, y) coordinate is the closest to the anchor point so far).
 
Methods inherited from class org.jfree.chart.renderer.AbstractRenderer
addChangeListener, calculateLabelAnchorPoint, clearSeriesPaints, clearSeriesStrokes, fireChangeEvent, getAutoPopulateSeriesFillPaint, getAutoPopulateSeriesOutlinePaint, getAutoPopulateSeriesOutlineStroke, getAutoPopulateSeriesPaint, getAutoPopulateSeriesShape, getAutoPopulateSeriesStroke, getBaseCreateEntities, getBaseFillPaint, getBaseItemLabelFont, getBaseItemLabelPaint, getBaseItemLabelsVisible, getBaseLegendShape, getBaseLegendTextFont, getBaseLegendTextPaint, getBaseNegativeItemLabelPosition, getBaseOutlinePaint, getBaseOutlineStroke, getBasePaint, getBasePositiveItemLabelPosition, getBaseSeriesVisible, getBaseSeriesVisibleInLegend, getBaseShape, getBaseStroke, getCreateEntities, getDataBoundsIncludesVisibleSeriesOnly, getDefaultEntityRadius, getItemCreateEntity, getItemFillPaint, getItemLabelAnchorOffset, getItemLabelFont, getItemLabelFont, getItemLabelPaint, getItemLabelPaint, getItemOutlinePaint, getItemOutlineStroke, getItemPaint, getItemShape, getItemStroke, getItemVisible, getLegendShape, getLegendTextFont, getLegendTextPaint, getNegativeItemLabelPosition, getNegativeItemLabelPosition, getPositiveItemLabelPosition, getPositiveItemLabelPosition, getSeriesCreateEntities, getSeriesFillPaint, getSeriesItemLabelFont, getSeriesItemLabelPaint, getSeriesNegativeItemLabelPosition, getSeriesOutlinePaint, getSeriesOutlineStroke, getSeriesPaint, getSeriesPositiveItemLabelPosition, getSeriesShape, getSeriesStroke, getSeriesVisible, getSeriesVisible, getSeriesVisibleInLegend, getSeriesVisibleInLegend, hasListener, isItemLabelVisible, isSeriesItemLabelsVisible, isSeriesVisible, isSeriesVisibleInLegend, lookupLegendShape, lookupLegendTextFont, lookupLegendTextPaint, lookupSeriesFillPaint, lookupSeriesOutlinePaint, lookupSeriesOutlineStroke, lookupSeriesPaint, lookupSeriesShape, lookupSeriesStroke, notifyListeners, removeChangeListener, setAutoPopulateSeriesFillPaint, setAutoPopulateSeriesOutlinePaint, setAutoPopulateSeriesOutlineStroke, setAutoPopulateSeriesPaint, setAutoPopulateSeriesShape, setAutoPopulateSeriesStroke, setBaseCreateEntities, setBaseCreateEntities, setBaseFillPaint, setBaseFillPaint, setBaseItemLabelFont, setBaseItemLabelFont, setBaseItemLabelPaint, setBaseItemLabelPaint, setBaseItemLabelsVisible, setBaseItemLabelsVisible, setBaseItemLabelsVisible, setBaseLegendShape, setBaseLegendTextFont, setBaseLegendTextPaint, setBaseNegativeItemLabelPosition, setBaseNegativeItemLabelPosition, setBaseOutlinePaint, setBaseOutlinePaint, setBaseOutlineStroke, setBaseOutlineStroke, setBasePaint, setBasePaint, setBasePositiveItemLabelPosition, setBasePositiveItemLabelPosition, setBaseSeriesVisible, setBaseSeriesVisible, setBaseSeriesVisibleInLegend, setBaseSeriesVisibleInLegend, setBaseShape, setBaseShape, setBaseStroke, setBaseStroke, setCreateEntities, setCreateEntities, setDataBoundsIncludesVisibleSeriesOnly, setDefaultEntityRadius, setFillPaint, setFillPaint, setItemLabelAnchorOffset, setItemLabelFont, setItemLabelFont, setItemLabelPaint, setItemLabelPaint, setItemLabelsVisible, setItemLabelsVisible, setItemLabelsVisible, setLegendShape, setLegendTextFont, setLegendTextPaint, setNegativeItemLabelPosition, setNegativeItemLabelPosition, setOutlinePaint, setOutlinePaint, setOutlineStroke, setOutlineStroke, setPaint, setPaint, setPositiveItemLabelPosition, setPositiveItemLabelPosition, setSeriesCreateEntities, setSeriesCreateEntities, setSeriesFillPaint, setSeriesFillPaint, setSeriesItemLabelFont, setSeriesItemLabelFont, setSeriesItemLabelPaint, setSeriesItemLabelPaint, setSeriesItemLabelsVisible, setSeriesItemLabelsVisible, setSeriesItemLabelsVisible, setSeriesNegativeItemLabelPosition, setSeriesNegativeItemLabelPosition, setSeriesOutlinePaint, setSeriesOutlinePaint, setSeriesOutlineStroke, setSeriesOutlineStroke, setSeriesPaint, setSeriesPaint, setSeriesPositiveItemLabelPosition, setSeriesPositiveItemLabelPosition, setSeriesShape, setSeriesShape, setSeriesStroke, setSeriesStroke, setSeriesVisible, setSeriesVisible, setSeriesVisible, setSeriesVisible, setSeriesVisibleInLegend, setSeriesVisibleInLegend, setSeriesVisibleInLegend, setSeriesVisibleInLegend, setShape, setShape, setStroke, setStroke
 
Methods inherited from class java.lang.Object
finalize, getClass, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface org.jfree.chart.renderer.category.CategoryItemRenderer
addChangeListener, drawItem, getBaseItemLabelFont, getBaseItemLabelPaint, getBaseItemLabelsVisible, getBaseNegativeItemLabelPosition, getBaseOutlinePaint, getBaseOutlineStroke, getBasePaint, getBasePositiveItemLabelPosition, getBaseSeriesVisible, getBaseSeriesVisibleInLegend, getBaseShape, getBaseStroke, getItemLabelFont, getItemLabelFont, getItemLabelPaint, getItemLabelPaint, getItemOutlinePaint, getItemOutlineStroke, getItemPaint, getItemShape, getItemStroke, getItemVisible, getNegativeItemLabelPosition, getNegativeItemLabelPosition, getPositiveItemLabelPosition, getPositiveItemLabelPosition, getSeriesItemLabelFont, getSeriesItemLabelPaint, getSeriesNegativeItemLabelPosition, getSeriesOutlinePaint, getSeriesOutlineStroke, getSeriesPaint, getSeriesPositiveItemLabelPosition, getSeriesShape, getSeriesStroke, getSeriesVisible, getSeriesVisible, getSeriesVisibleInLegend, getSeriesVisibleInLegend, isItemLabelVisible, isSeriesItemLabelsVisible, isSeriesVisible, isSeriesVisibleInLegend, removeChangeListener, setBaseItemLabelFont, setBaseItemLabelPaint, setBaseItemLabelsVisible, setBaseItemLabelsVisible, setBaseItemLabelsVisible, setBaseNegativeItemLabelPosition, setBaseNegativeItemLabelPosition, setBaseOutlinePaint, setBaseOutlineStroke, setBasePaint, setBasePositiveItemLabelPosition, setBasePositiveItemLabelPosition, setBaseSeriesVisible, setBaseSeriesVisible, setBaseSeriesVisibleInLegend, setBaseSeriesVisibleInLegend, setBaseShape, setBaseStroke, setItemLabelFont, setItemLabelPaint, setItemLabelsVisible, setItemLabelsVisible, setItemLabelsVisible, setNegativeItemLabelPosition, setNegativeItemLabelPosition, setOutlinePaint, setOutlineStroke, setPaint, setPositiveItemLabelPosition, setPositiveItemLabelPosition, setSeriesItemLabelFont, setSeriesItemLabelPaint, setSeriesItemLabelsVisible, setSeriesItemLabelsVisible, setSeriesItemLabelsVisible, setSeriesNegativeItemLabelPosition, setSeriesNegativeItemLabelPosition, setSeriesOutlinePaint, setSeriesOutlineStroke, setSeriesPaint, setSeriesPositiveItemLabelPosition, setSeriesPositiveItemLabelPosition, setSeriesShape, setSeriesStroke, setSeriesVisible, setSeriesVisible, setSeriesVisible, setSeriesVisible, setSeriesVisibleInLegend, setSeriesVisibleInLegend, setSeriesVisibleInLegend, setSeriesVisibleInLegend, setShape, setStroke
 

Constructor Detail

AbstractCategoryItemRenderer

protected AbstractCategoryItemRenderer()
Creates a new renderer with no tool tip generator and no URL generator. The defaults (no tool tip or URL generators) have been chosen to minimise the processing required to generate a default chart. If you require tool tips or URLs, then you can easily add the required generators.

Method Detail

getPassCount

public int getPassCount()
Returns the number of passes through the dataset required by the renderer. This method returns 1, subclasses should override if they need more passes.

Specified by:
getPassCount in interface CategoryItemRenderer
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).

Specified by:
getPlot in interface CategoryItemRenderer
Returns:
The plot (possibly null).
See Also:
setPlot(CategoryPlot)

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.

Specified by:
setPlot in interface CategoryItemRenderer
Parameters:
plot - the plot (null not permitted).
See Also:
getPlot()

getItemLabelGenerator

public CategoryItemLabelGenerator getItemLabelGenerator(int row,
                                                        int column)
Returns the item label generator for a data item. This implementation simply passes control to the getSeriesItemLabelGenerator(int) method. If, for some reason, you want a different generator for individual items, you can override this method.

Specified by:
getItemLabelGenerator in interface CategoryItemRenderer
Parameters:
row - the row index (zero based).
column - the column index (zero based).
Returns:
The generator (possibly null).

getSeriesItemLabelGenerator

public CategoryItemLabelGenerator getSeriesItemLabelGenerator(int series)
Returns the item label generator for a series.

Specified by:
getSeriesItemLabelGenerator in interface CategoryItemRenderer
Parameters:
series - the series index (zero based).
Returns:
The generator (possibly null).
See Also:
setSeriesItemLabelGenerator(int, CategoryItemLabelGenerator)

setSeriesItemLabelGenerator

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

Specified by:
setSeriesItemLabelGenerator in interface CategoryItemRenderer
Parameters:
series - the series index (zero based).
generator - the generator (null permitted).
See Also:
getSeriesItemLabelGenerator(int)

getBaseItemLabelGenerator

public CategoryItemLabelGenerator getBaseItemLabelGenerator()
Returns the base item label generator.

Specified by:
getBaseItemLabelGenerator in interface CategoryItemRenderer
Returns:
The generator (possibly null).
See Also:
setBaseItemLabelGenerator(CategoryItemLabelGenerator)

setBaseItemLabelGenerator

public void setBaseItemLabelGenerator(CategoryItemLabelGenerator generator)
Sets the base item label generator and sends a RendererChangeEvent to all registered listeners.

Specified by:
setBaseItemLabelGenerator in interface CategoryItemRenderer
Parameters:
generator - the generator (null permitted).
See Also:
getBaseItemLabelGenerator()

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. You can override this method if you want to return a different generator per item.

Specified by:
getToolTipGenerator in interface CategoryItemRenderer
Parameters:
row - the row index (zero-based).
column - the column index (zero-based).
Returns:
The generator (possibly null).

getSeriesToolTipGenerator

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

Specified by:
getSeriesToolTipGenerator in interface CategoryItemRenderer
Parameters:
series - the series index (zero-based).
Returns:
The tool tip generator (possibly null).
See Also:
setSeriesToolTipGenerator(int, CategoryToolTipGenerator)

setSeriesToolTipGenerator

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

Specified by:
setSeriesToolTipGenerator in interface CategoryItemRenderer
Parameters:
series - the series index (zero-based).
generator - the generator (null permitted).
See Also:
getSeriesToolTipGenerator(int)

getBaseToolTipGenerator

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

Specified by:
getBaseToolTipGenerator in interface CategoryItemRenderer
Returns:
The tool tip generator (possibly null).
See Also:
setBaseToolTipGenerator(CategoryToolTipGenerator)

setBaseToolTipGenerator

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

Specified by:
setBaseToolTipGenerator in interface CategoryItemRenderer
Parameters:
generator - the generator (null permitted).
See Also:
getBaseToolTipGenerator()

getItemURLGenerator

public CategoryURLGenerator getItemURLGenerator(int row,
                                                int column)
Returns the URL generator for a data item. This method just calls the getSeriesItemURLGenerator method, but you can override this behaviour if you want to.

Specified by:
getItemURLGenerator in interface CategoryItemRenderer
Parameters:
row - the row index (zero based).
column - the column index (zero based).
Returns:
The URL generator.

getSeriesItemURLGenerator

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

Specified by:
getSeriesItemURLGenerator in interface CategoryItemRenderer
Parameters:
series - the series index (zero based).
Returns:
The URL generator for the series.
See Also:
setSeriesItemURLGenerator(int, CategoryURLGenerator)

setSeriesItemURLGenerator

public void setSeriesItemURLGenerator(int series,
                                      CategoryURLGenerator generator)
Sets the URL generator for a series and sends a RendererChangeEvent to all registered listeners.

Specified by:
setSeriesItemURLGenerator in interface CategoryItemRenderer
Parameters:
series - the series index (zero based).
generator - the generator.
See Also:
getSeriesItemURLGenerator(int)

getBaseItemURLGenerator

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

Specified by:
getBaseItemURLGenerator in interface CategoryItemRenderer
Returns:
The item URL generator.
See Also:
setBaseItemURLGenerator(CategoryURLGenerator)

setBaseItemURLGenerator

public void setBaseItemURLGenerator(CategoryURLGenerator generator)
Sets the base item URL generator and sends a RendererChangeEvent to all registered listeners.

Specified by:
setBaseItemURLGenerator in interface CategoryItemRenderer
Parameters:
generator - the item URL generator (null permitted).
See Also:
getBaseItemURLGenerator()

getRowCount

public int getRowCount()
Returns the number of rows in the dataset. This value is updated in the initialise(java.awt.Graphics2D, java.awt.geom.Rectangle2D, org.jfree.chart.plot.CategoryPlot, int, org.jfree.chart.plot.PlotRenderingInfo) method.

Returns:
The row count.

getColumnCount

public int getColumnCount()
Returns the number of columns in the dataset. This value is updated in the initialise(java.awt.Graphics2D, java.awt.geom.Rectangle2D, org.jfree.chart.plot.CategoryPlot, int, org.jfree.chart.plot.PlotRenderingInfo) method.

Returns:
The column count.

createState

protected CategoryItemRendererState createState(PlotRenderingInfo info)
Creates a new state instance---this method is called from the initialise(Graphics2D, Rectangle2D, CategoryPlot, int, PlotRenderingInfo) method. Subclasses can override this method if they need to use a subclass of CategoryItemRendererState.

Parameters:
info - collects plot rendering info (null permitted).
Returns:
The new state instance (never null).
Since:
1.0.5

initialise

public CategoryItemRendererState initialise(java.awt.Graphics2D g2,
                                            java.awt.geom.Rectangle2D dataArea,
                                            CategoryPlot plot,
                                            int rendererIndex,
                                            PlotRenderingInfo info)
Initialises the renderer and returns a state object that will be used for the remainder of the drawing process for a single chart. The state object allows for the fact that the renderer may be used simultaneously by multiple threads (each thread will work with a separate state object).

Specified by:
initialise in interface CategoryItemRenderer
Parameters:
g2 - the graphics device.
dataArea - the data area.
plot - the plot.
rendererIndex - the renderer index.
info - an object for returning information about the structure of the plot (null permitted).
Returns:
The renderer state.

findRangeBounds

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

Specified by:
findRangeBounds in interface CategoryItemRenderer
Parameters:
dataset - the dataset (null permitted).
Returns:
The range (or null if the dataset is null or empty).

findRangeBounds

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

Parameters:
dataset - the dataset (null permitted).
includeInterval - include the y-interval if the dataset has one.
Returns:
The range (null if the dataset is null or empty).
Since:
1.0.13

getItemMiddle

public double getItemMiddle(java.lang.Comparable rowKey,
                            java.lang.Comparable columnKey,
                            CategoryDataset dataset,
                            CategoryAxis axis,
                            java.awt.geom.Rectangle2D area,
                            org.jfree.ui.RectangleEdge edge)
Returns the Java2D coordinate for the middle of the specified data item.

Specified by:
getItemMiddle in interface CategoryItemRenderer
Parameters:
rowKey - the row key.
columnKey - the column key.
dataset - the dataset.
axis - the axis.
area - the data area.
edge - the edge along which the axis lies.
Returns:
The Java2D coordinate for the middle of the item.
Since:
1.0.11

drawBackground

public void drawBackground(java.awt.Graphics2D g2,
                           CategoryPlot plot,
                           java.awt.geom.Rectangle2D dataArea)
Draws a background for the data area. The default implementation just gets the plot to draw the background, but some renderers will override this behaviour.

Specified by:
drawBackground in interface CategoryItemRenderer
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. The default implementation just gets the plot to draw the outline, but some renderers will override this behaviour.

Specified by:
drawOutline in interface CategoryItemRenderer
Parameters:
g2 - the graphics device.
plot - the plot.
dataArea - the data area.

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.

Note that this default implementation assumes that the horizontal axis is the domain axis. If this is not the case, you will need to override this method.

Specified by:
drawDomainGridline in interface CategoryItemRenderer
Parameters:
g2 - the graphics device.
plot - the plot.
dataArea - the area for plotting data (not yet adjusted for any 3D effect).
value - the Java2D value at which the grid line should be drawn.
See Also:
drawRangeGridline(Graphics2D, CategoryPlot, ValueAxis, Rectangle2D, double)

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.

Specified by:
drawRangeGridline in interface CategoryItemRenderer
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 at which the grid line should be drawn.
See Also:
drawDomainGridline(Graphics2D, CategoryPlot, Rectangle2D, double)

drawRangeLine

public void drawRangeLine(java.awt.Graphics2D g2,
                          CategoryPlot plot,
                          ValueAxis axis,
                          java.awt.geom.Rectangle2D dataArea,
                          double value,
                          java.awt.Paint paint,
                          java.awt.Stroke stroke)
Draws a line perpendicular to 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 at which the grid line should be drawn.
paint - the paint (null not permitted).
stroke - the stroke (null not permitted).
Since:
1.0.13
See Also:
drawRangeGridline(java.awt.Graphics2D, org.jfree.chart.plot.CategoryPlot, org.jfree.chart.axis.ValueAxis, java.awt.geom.Rectangle2D, double)

drawDomainMarker

public void drawDomainMarker(java.awt.Graphics2D g2,
                             CategoryPlot plot,
                             CategoryAxis axis,
                             CategoryMarker marker,
                             java.awt.geom.Rectangle2D dataArea)
Draws a marker for the domain axis.

Specified by:
drawDomainMarker in interface CategoryItemRenderer
Parameters:
g2 - the graphics device (not null).
plot - the plot (not null).
axis - the range axis (not null).
marker - the marker to be drawn (not null).
dataArea - the area inside the axes (not null).
See Also:
drawRangeMarker(Graphics2D, CategoryPlot, ValueAxis, Marker, Rectangle2D)

drawRangeMarker

public void drawRangeMarker(java.awt.Graphics2D g2,
                            CategoryPlot plot,
                            ValueAxis axis,
                            Marker marker,
                            java.awt.geom.Rectangle2D dataArea)
Draws a marker for the range axis.

Specified by:
drawRangeMarker in interface CategoryItemRenderer
Parameters:
g2 - the graphics device (not null).
plot - the plot (not null).
axis - the range axis (not null).
marker - the marker to be drawn (not null).
dataArea - the area inside the axes (not null).
See Also:
drawDomainMarker(Graphics2D, CategoryPlot, CategoryAxis, CategoryMarker, Rectangle2D)

calculateDomainMarkerTextAnchorPoint

protected java.awt.geom.Point2D calculateDomainMarkerTextAnchorPoint(java.awt.Graphics2D g2,
                                                                     PlotOrientation orientation,
                                                                     java.awt.geom.Rectangle2D dataArea,
                                                                     java.awt.geom.Rectangle2D markerArea,
                                                                     org.jfree.ui.RectangleInsets markerOffset,
                                                                     org.jfree.ui.LengthAdjustmentType labelOffsetType,
                                                                     org.jfree.ui.RectangleAnchor anchor)
Calculates the (x, y) coordinates for drawing the label for a marker on the range axis.

Parameters:
g2 - the graphics device.
orientation - the plot orientation.
dataArea - the data area.
markerArea - the rectangle surrounding the marker.
markerOffset - the marker offset.
labelOffsetType - the label offset type.
anchor - the label anchor.
Returns:
The coordinates for drawing the marker label.

calculateRangeMarkerTextAnchorPoint

protected java.awt.geom.Point2D calculateRangeMarkerTextAnchorPoint(java.awt.Graphics2D g2,
                                                                    PlotOrientation orientation,
                                                                    java.awt.geom.Rectangle2D dataArea,
                                                                    java.awt.geom.Rectangle2D markerArea,
                                                                    org.jfree.ui.RectangleInsets markerOffset,
                                                                    org.jfree.ui.LengthAdjustmentType labelOffsetType,
                                                                    org.jfree.ui.RectangleAnchor anchor)
Calculates the (x, y) coordinates for drawing a marker label.

Parameters:
g2 - the graphics device.
orientation - the plot orientation.
dataArea - the data area.
markerArea - the rectangle surrounding the marker.
markerOffset - the marker offset.
labelOffsetType - the label offset type.
anchor - the label anchor.
Returns:
The coordinates for drawing the marker label.

getLegendItem

public LegendItem getLegendItem(int datasetIndex,
                                int series)
Returns a legend item for a series. This default implementation will return null if AbstractRenderer.isSeriesVisible(int) or AbstractRenderer.isSeriesVisibleInLegend(int) returns false.

Specified by:
getLegendItem in interface CategoryItemRenderer
Parameters:
datasetIndex - the dataset index (zero-based).
series - the series index (zero-based).
Returns:
The legend item (possibly null).
See Also:
getLegendItems()

equals

public boolean equals(java.lang.Object obj)
Tests this renderer for equality with another object.

Overrides:
equals in class AbstractRenderer
Parameters:
obj - the object.
Returns:
true or false.

hashCode

public int hashCode()
Returns a hash code for the renderer.

Overrides:
hashCode in class AbstractRenderer
Returns:
The hash code.

getDrawingSupplier

public DrawingSupplier getDrawingSupplier()
Returns the drawing supplier from the plot.

Specified by:
getDrawingSupplier in class AbstractRenderer
Returns:
The drawing supplier (possibly null).

updateCrosshairValues

protected void updateCrosshairValues(CategoryCrosshairState crosshairState,
                                     java.lang.Comparable rowKey,
                                     java.lang.Comparable columnKey,
                                     double value,
                                     int datasetIndex,
                                     double transX,
                                     double transY,
                                     PlotOrientation orientation)
Considers the current (x, y) coordinate and updates the crosshair point if it meets the criteria (usually means the (x, y) coordinate is the closest to the anchor point so far).

Parameters:
crosshairState - the crosshair state (null permitted, but the method does nothing in that case).
rowKey - the row key.
columnKey - the column key.
value - the data value.
datasetIndex - the dataset index.
transX - the x-value translated to Java2D space.
transY - the y-value translated to Java2D space.
orientation - the plot orientation (null not permitted).
Since:
1.0.11

drawItemLabel

protected void drawItemLabel(java.awt.Graphics2D g2,
                             PlotOrientation orientation,
                             CategoryDataset dataset,
                             int row,
                             int column,
                             double x,
                             double y,
                             boolean negative)
Draws an item label.

Parameters:
g2 - the graphics device.
orientation - the orientation.
dataset - the dataset.
row - the row.
column - the column.
x - the x coordinate (in Java2D space).
y - the y coordinate (in Java2D space).
negative - indicates a negative value (which affects the item label position).

clone

public java.lang.Object clone()
                       throws java.lang.CloneNotSupportedException
Returns an independent copy of the renderer. The plot reference is shallow copied.

Specified by:
clone in interface org.jfree.util.PublicCloneable
Overrides:
clone in class AbstractRenderer
Returns:
A clone.
Throws:
java.lang.CloneNotSupportedException - can be thrown if one of the objects belonging to the renderer does not support cloning (for example, an item label generator).

getDomainAxis

protected CategoryAxis getDomainAxis(CategoryPlot plot,
                                     int index)
Returns a domain axis for a plot.

Parameters:
plot - the plot.
index - the axis index.
Returns:
A domain axis.

getRangeAxis

protected ValueAxis getRangeAxis(CategoryPlot plot,
                                 int index)
Returns a range axis for a plot.

Parameters:
plot - the plot.
index - the axis index.
Returns:
A range axis.

getLegendItems

public LegendItemCollection getLegendItems()
Returns a (possibly empty) collection of legend items for the series that this renderer is responsible for drawing.

Specified by:
getLegendItems in interface LegendItemSource
Returns:
The legend item collection (never null).
See Also:
getLegendItem(int, int)

getLegendItemLabelGenerator

public CategorySeriesLabelGenerator getLegendItemLabelGenerator()
Returns the legend item label generator.

Returns:
The label generator (never null).
See Also:
setLegendItemLabelGenerator(CategorySeriesLabelGenerator)

setLegendItemLabelGenerator

public void setLegendItemLabelGenerator(CategorySeriesLabelGenerator generator)
Sets the legend item label generator and sends a RendererChangeEvent to all registered listeners.

Parameters:
generator - the generator (null not permitted).
See Also:
getLegendItemLabelGenerator()

getLegendItemToolTipGenerator

public CategorySeriesLabelGenerator getLegendItemToolTipGenerator()
Returns the legend item tool tip generator.

Returns:
The tool tip generator (possibly null).
See Also:
setLegendItemToolTipGenerator(CategorySeriesLabelGenerator)

setLegendItemToolTipGenerator

public void setLegendItemToolTipGenerator(CategorySeriesLabelGenerator generator)
Sets the legend item tool tip generator and sends a RendererChangeEvent to all registered listeners.

Parameters:
generator - the generator (null permitted).
See Also:
setLegendItemToolTipGenerator(CategorySeriesLabelGenerator)

getLegendItemURLGenerator

public CategorySeriesLabelGenerator getLegendItemURLGenerator()
Returns the legend item URL generator.

Returns:
The URL generator (possibly null).
See Also:
setLegendItemURLGenerator(CategorySeriesLabelGenerator)

setLegendItemURLGenerator

public void setLegendItemURLGenerator(CategorySeriesLabelGenerator generator)
Sets the legend item URL generator and sends a RendererChangeEvent to all registered listeners.

Parameters:
generator - the generator (null permitted).
See Also:
getLegendItemURLGenerator()

addItemEntity

protected void addItemEntity(EntityCollection entities,
                             CategoryDataset dataset,
                             int row,
                             int column,
                             java.awt.Shape hotspot)
Adds an entity with the specified hotspot.

Parameters:
entities - the entity collection.
dataset - the dataset.
row - the row index.
column - the column index.
hotspot - the hotspot (null not permitted).

addEntity

protected void addEntity(EntityCollection entities,
                         java.awt.Shape hotspot,
                         CategoryDataset dataset,
                         int row,
                         int column,
                         double entityX,
                         double entityY)
Adds an entity to the collection.

Parameters:
entities - the entity collection being populated.
hotspot - the entity area (if null a default will be used).
dataset - the dataset.
row - the series.
column - the item.
entityX - the entity's center x-coordinate in user space (only used if area is null).
entityY - the entity's center y-coordinate in user space (only used if area is null).
Since:
1.0.13

setItemLabelGenerator

public void setItemLabelGenerator(CategoryItemLabelGenerator generator)
Deprecated. This method should no longer be used (as of version 1.0.6). It is sufficient to rely on setSeriesItemLabelGenerator(int, CategoryItemLabelGenerator) and setBaseItemLabelGenerator(CategoryItemLabelGenerator).

Sets the item label generator for ALL series and sends a RendererChangeEvent to all registered listeners.

Specified by:
setItemLabelGenerator in interface CategoryItemRenderer
Parameters:
generator - the generator (null permitted).

getToolTipGenerator

public CategoryToolTipGenerator getToolTipGenerator()
Deprecated. This method should no longer be used (as of version 1.0.6). It is sufficient to rely on getSeriesToolTipGenerator(int) and getBaseToolTipGenerator().

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

Specified by:
getToolTipGenerator in interface CategoryItemRenderer
Returns:
A tool tip generator (possibly null).
See Also:
setToolTipGenerator(CategoryToolTipGenerator)

setToolTipGenerator

public void setToolTipGenerator(CategoryToolTipGenerator generator)
Deprecated. This method should no longer be used (as of version 1.0.6). It is sufficient to rely on setSeriesToolTipGenerator(int, CategoryToolTipGenerator) and setBaseToolTipGenerator(CategoryToolTipGenerator).

Sets the tool tip generator for ALL series and sends a RendererChangeEvent to all registered listeners.

Specified by:
setToolTipGenerator in interface CategoryItemRenderer
Parameters:
generator - the generator (null permitted).
See Also:
getToolTipGenerator()

setItemURLGenerator

public void setItemURLGenerator(CategoryURLGenerator generator)
Deprecated. This method should no longer be used (as of version 1.0.6). It is sufficient to rely on setSeriesItemURLGenerator(int, CategoryURLGenerator) and setBaseItemURLGenerator(CategoryURLGenerator).

Sets the item URL generator for ALL series and sends a RendererChangeEvent to all registered listeners.

Specified by:
setItemURLGenerator in interface CategoryItemRenderer
Parameters:
generator - the generator.
See Also:
CategoryItemRenderer.getSeriesItemURLGenerator(int)

Footer
And More


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