org.jfree.chart.renderer.xy

## Class AbstractXYItemRenderer

- java.lang.Object
- - org.jfree.chart.renderer.AbstractRenderer
  - - org.jfree.chart.renderer.xy.AbstractXYItemRenderer

- All Implemented Interfaces:
    java.io.Serializable, java.lang.Cloneable, java.util.EventListener, AnnotationChangeListener, LegendItemSource, XYItemRenderer
  Direct Known Subclasses:
    StandardXYItemRenderer, XYBlockRenderer, XYLineAndShapeRenderer

      public abstract class AbstractXYItemRenderer
      extends AbstractRenderer
      implements XYItemRenderer, AnnotationChangeListener, java.lang.Cloneable, java.io.Serializable

  A base class that can be used to create new `XYItemRenderer` implementations.
  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

    Constructors
    Modifier | Constructor and Description
    --- | ---
    `protected` | `AbstractXYItemRenderer()` Creates a renderer where the tooltip generator and the URL generator are both `null`.

  - ### Method Summary

    All Methods Static Methods Instance Methods Concrete Methods Deprecated Methods
    Modifier and Type | Method and Description
    --- | ---
    `void` | `addAnnotation(XYAnnotation annotation)` Adds an annotation and sends a `RendererChangeEvent` to all registered listeners.
    `void` | `addAnnotation(XYAnnotation annotation, Layer layer)` Adds an annotation to the specified layer and sends a `RendererChangeEvent` to all registered listeners.
    `protected void` | `addEntity(EntityCollection entities, java.awt.Shape area, XYDataset dataset, int series, int item, double entityX, double entityY)` Adds an entity to the collection.
    `void` | `annotationChanged(AnnotationChangeEvent event)` Receives notification of a change to an `Annotation` added to this renderer.
    `protected java.awt.geom.Point2D` | `calculateDomainMarkerTextAnchorPoint(java.awt.Graphics2D g2, PlotOrientation orientation, java.awt.geom.Rectangle2D dataArea, java.awt.geom.Rectangle2D markerArea, RectangleInsets markerOffset, LengthAdjustmentType labelOffsetType, RectangleAnchor anchor)` Calculates the (x, y) coordinates for drawing a marker label.
    `protected java.lang.Object` | `clone()` Returns a clone of the renderer.
    `void` | `drawAnnotations(java.awt.Graphics2D g2, java.awt.geom.Rectangle2D dataArea, ValueAxis domainAxis, ValueAxis rangeAxis, Layer layer, PlotRenderingInfo info)` Draws all the annotations for the specified layer.
    `void` | `drawDomainGridLine(java.awt.Graphics2D g2, XYPlot plot, ValueAxis axis, java.awt.geom.Rectangle2D dataArea, double value)` Draws a grid line against the range axis.
    `void` | `drawDomainLine(java.awt.Graphics2D g2, XYPlot plot, ValueAxis axis, java.awt.geom.Rectangle2D dataArea, double value, java.awt.Paint paint, java.awt.Stroke stroke)` Draws a line perpendicular to the domain axis.
    `void` | `drawDomainMarker(java.awt.Graphics2D g2, XYPlot plot, ValueAxis domainAxis, Marker marker, java.awt.geom.Rectangle2D dataArea)` Draws a vertical line on the chart to represent a 'range marker'.
    `protected void` | `drawItemLabel(java.awt.Graphics2D g2, PlotOrientation orientation, XYDataset dataset, int series, int item, double x, double y, boolean negative)` Draws an item label.
    `void` | `drawRangeLine(java.awt.Graphics2D g2, XYPlot 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, XYPlot plot, ValueAxis rangeAxis, Marker marker, java.awt.geom.Rectangle2D dataArea)` Draws a horizontal line across the chart to represent a 'range marker'.
    `boolean` | `equals(java.lang.Object obj)` Tests this renderer for equality with another object.
    `void` | `fillDomainGridBand(java.awt.Graphics2D g2, XYPlot plot, ValueAxis axis, java.awt.geom.Rectangle2D dataArea, double start, double end)` Fills a band between two values on the axis.
    `void` | `fillRangeGridBand(java.awt.Graphics2D g2, XYPlot plot, ValueAxis axis, java.awt.geom.Rectangle2D dataArea, double start, double end)` Fills a band between two values on the range axis.
    `Range` | `findDomainBounds(XYDataset dataset)` Returns the lower and upper bounds (range) of the x-values in the specified dataset.
    `protected Range` | `findDomainBounds(XYDataset dataset, boolean includeInterval)` Returns the lower and upper bounds (range) of the x-values in the specified dataset.
    `Range` | `findRangeBounds(XYDataset dataset)` Returns the range of values the renderer requires to display all the items from the specified dataset.
    `protected Range` | `findRangeBounds(XYDataset dataset, boolean includeInterval)` Returns the range of values the renderer requires to display all the items from the specified dataset.
    `java.util.Collection` | `getAnnotations()` Returns a collection of the annotations that are assigned to the renderer.
    `XYItemLabelGenerator` | `getBaseItemLabelGenerator()` Returns the base item label generator.
    `XYToolTipGenerator` | `getBaseToolTipGenerator()` Returns the base tool tip generator.
    `DrawingSupplier` | `getDrawingSupplier()` Returns the drawing supplier from the plot.
    `XYItemLabelGenerator` | `getItemLabelGenerator()` Deprecated. As of version 1.0.6, this override setting should not be used. You can use the base setting instead (`getBaseItemLabelGenerator()`).
    `XYItemLabelGenerator` | `getItemLabelGenerator(int series, int item)` Returns the label generator for a data item.
    `LegendItem` | `getLegendItem(int datasetIndex, int series)` Returns a default legend item for the specified series.
    `XYSeriesLabelGenerator` | `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.
    `XYSeriesLabelGenerator` | `getLegendItemToolTipGenerator()` Returns the legend item tool tip generator.
    `XYSeriesLabelGenerator` | `getLegendItemURLGenerator()` Returns the legend item URL generator.
    `int` | `getPassCount()` Returns the number of passes through the data that the renderer requires in order to draw the chart.
    `XYPlot` | `getPlot()` Returns the plot that the renderer is assigned to.
    `XYItemLabelGenerator` | `getSeriesItemLabelGenerator(int series)` Returns the item label generator for a series.
    `XYToolTipGenerator` | `getSeriesToolTipGenerator(int series)` Returns the tool tip generator for a series.
    `XYToolTipGenerator` | `getToolTipGenerator()` Deprecated. As of version 1.0.6, this override setting should not be used. You can use the base setting instead (`getBaseToolTipGenerator()`).
    `XYToolTipGenerator` | `getToolTipGenerator(int series, int item)` Returns the tool tip generator for a data item.
    `XYURLGenerator` | `getURLGenerator()` Returns the URL generator for HTML image maps.
    `XYItemRendererState` | `initialise(java.awt.Graphics2D g2, java.awt.geom.Rectangle2D dataArea, XYPlot plot, XYDataset data, PlotRenderingInfo info)` Initialises the renderer and returns a state object that should be passed to all subsequent calls to the drawItem() method.
    `static boolean` | `isPointInRect(java.awt.geom.Rectangle2D rect, double x, double y)` Returns `true` if the specified point (x, y) falls within or on the boundary of the specified rectangle.
    `protected static void` | `lineTo(java.awt.geom.GeneralPath hotspot, double x, double y)` Utility method delegating to `Path2D.Float.lineTo(double, double)` taking double as parameters.
    `protected static void` | `moveTo(java.awt.geom.GeneralPath hotspot, double x, double y)` Utility method delegating to `Path2D.Float.moveTo(double, double)` taking double as parameters.
    `boolean` | `removeAnnotation(XYAnnotation annotation)` Removes the specified annotation and sends a `RendererChangeEvent` to all registered listeners.
    `void` | `removeAnnotations()` Removes all annotations and sends a `RendererChangeEvent` to all registered listeners.
    `void` | `setBaseItemLabelGenerator(XYItemLabelGenerator generator)` Sets the base item label generator and sends a `RendererChangeEvent` to all registered listeners.
    `void` | `setBaseToolTipGenerator(XYToolTipGenerator generator)` Sets the base tool tip generator and sends a `RendererChangeEvent` to all registered listeners.
    `void` | `setItemLabelGenerator(XYItemLabelGenerator generator)` Deprecated. As of version 1.0.6, this override setting should not be used. You can use the base setting instead (`setBaseItemLabelGenerator(XYItemLabelGenerator)`).
    `void` | `setLegendItemLabelGenerator(XYSeriesLabelGenerator generator)` Sets the legend item label generator and sends a `RendererChangeEvent` to all registered listeners.
    `void` | `setLegendItemToolTipGenerator(XYSeriesLabelGenerator generator)` Sets the legend item tool tip generator and sends a `RendererChangeEvent` to all registered listeners.
    `void` | `setLegendItemURLGenerator(XYSeriesLabelGenerator generator)` Sets the legend item URL generator and sends a `RendererChangeEvent` to all registered listeners.
    `void` | `setPlot(XYPlot plot)` Sets the plot that the renderer is assigned to.
    `void` | `setSeriesItemLabelGenerator(int series, XYItemLabelGenerator generator)` Sets the item label generator for a series and sends a `RendererChangeEvent` to all registered listeners.
    `void` | `setSeriesToolTipGenerator(int series, XYToolTipGenerator generator)` Sets the tool tip generator for a series and sends a `RendererChangeEvent` to all registered listeners.
    `void` | `setToolTipGenerator(XYToolTipGenerator generator)` Deprecated. As of version 1.0.6, this override setting should not be used. You can use the base setting instead (`setBaseToolTipGenerator(XYToolTipGenerator)`).
    `void` | `setURLGenerator(XYURLGenerator urlGenerator)` Sets the URL generator for HTML image maps and sends a `RendererChangeEvent` to all registered listeners.
    `protected void` | `updateCrosshairValues(CrosshairState crosshairState, double x, double y, double transX, double transY, PlotOrientation orientation)` Deprecated. Use `updateCrosshairValues(CrosshairState, double, double, int, int, double, double, PlotOrientation)` -- see bug report 1086307.
    `protected void` | `updateCrosshairValues(CrosshairState crosshairState, double x, double y, int domainAxisIndex, int rangeAxisIndex, 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, getTreatLegendShapeAsLine, hashCode, 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, setTreatLegendShapeAsLine`

    - ### Methods inherited from class java.lang.Object

      `finalize, getClass, notify, notifyAll, toString, wait, wait, wait`

    - ### Methods inherited from interface org.jfree.chart.renderer.xy.XYItemRenderer

      `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

    - #### AbstractXYItemRenderer

          protected AbstractXYItemRenderer()

      Creates a renderer where the tooltip generator and the URL generator are both `null`.

  - ### Method Detail

    - #### getPassCount

          public int getPassCount()

      Returns the number of passes through the data that the renderer requires in order to draw the chart. Most charts will require a single pass, but some require two passes.
      Specified by:
        `getPassCount` in interface `XYItemRenderer`
      Returns:
        The pass count.

    - #### getPlot

          public XYPlot getPlot()

      Returns the plot that the renderer is assigned to.
      Specified by:
        `getPlot` in interface `XYItemRenderer`
      Returns:
        The plot (possibly `null`).

    - #### setPlot

          public void setPlot(XYPlot plot)

      Sets the plot that the renderer is assigned to.
      Specified by:
        `setPlot` in interface `XYItemRenderer`
      Parameters:
        `plot` - the plot (`null` permitted).

    - #### initialise

          public XYItemRendererState initialise(java.awt.Graphics2D g2,
                                                java.awt.geom.Rectangle2D dataArea,
                                                XYPlot plot,
                                                XYDataset data,
                                                PlotRenderingInfo info)

      Initialises the renderer and returns a state object that should be passed to all subsequent calls to the drawItem() method.

      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.

      Specified by:
        `initialise` in interface `XYItemRenderer`
      Parameters:
        `g2` - the graphics device.
        `dataArea` - the area inside the axes.
        `plot` - the plot.
        `data` - the data.
        `info` - an optional info collection object to return data back to the caller.
      Returns:
        The renderer state (never `null`).

    - #### getItemLabelGenerator

          public XYItemLabelGenerator getItemLabelGenerator(int series,
                                                            int item)

      Returns the 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 `XYItemRenderer`
      Parameters:
        `series` - the series index (zero based).
        `item` - the item index (zero based).
      Returns:
        The generator (possibly `null`).

    - #### getSeriesItemLabelGenerator

          public XYItemLabelGenerator getSeriesItemLabelGenerator(int series)

      Returns the item label generator for a series.
      Specified by:
        `getSeriesItemLabelGenerator` in interface `XYItemRenderer`
      Parameters:
        `series` - the series index (zero based).
      Returns:
        The generator (possibly `null`).
      See Also:
        `XYItemRenderer.setSeriesItemLabelGenerator(int, XYItemLabelGenerator)`

    - #### setSeriesItemLabelGenerator

          public void setSeriesItemLabelGenerator(int series,
                                                  XYItemLabelGenerator generator)

      Sets the item label generator for a series and sends a `RendererChangeEvent` to all registered listeners.
      Specified by:
        `setSeriesItemLabelGenerator` in interface `XYItemRenderer`
      Parameters:
        `series` - the series index (zero based).
        `generator` - the generator (`null` permitted).
      See Also:
        `XYItemRenderer.getSeriesItemLabelGenerator(int)`

    - #### getBaseItemLabelGenerator

          public XYItemLabelGenerator getBaseItemLabelGenerator()

      Returns the base item label generator.
      Specified by:
        `getBaseItemLabelGenerator` in interface `XYItemRenderer`
      Returns:
        The generator (possibly `null`).
      See Also:
        `XYItemRenderer.setBaseItemLabelGenerator(XYItemLabelGenerator)`

    - #### setBaseItemLabelGenerator

          public void setBaseItemLabelGenerator(XYItemLabelGenerator generator)

      Sets the base item label generator and sends a `RendererChangeEvent` to all registered listeners.
      Specified by:
        `setBaseItemLabelGenerator` in interface `XYItemRenderer`
      Parameters:
        `generator` - the generator (`null` permitted).
      See Also:
        `XYItemRenderer.getBaseItemLabelGenerator()`

    - #### getToolTipGenerator

          public XYToolTipGenerator getToolTipGenerator(int series,
                                                        int item)

      Returns the tool tip generator for a data item. If, for some reason, you want a different generator for individual items, you can override this method.
      Specified by:
        `getToolTipGenerator` in interface `XYItemRenderer`
      Parameters:
        `series` - the series index (zero based).
        `item` - the item index (zero based).
      Returns:
        The generator (possibly `null`).

    - #### getSeriesToolTipGenerator

          public XYToolTipGenerator getSeriesToolTipGenerator(int series)

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

    - #### setSeriesToolTipGenerator

          public void setSeriesToolTipGenerator(int series,
                                                XYToolTipGenerator generator)

      Sets the tool tip generator for a series and sends a `RendererChangeEvent` to all registered listeners.
      Specified by:
        `setSeriesToolTipGenerator` in interface `XYItemRenderer`
      Parameters:
        `series` - the series index (zero based).
        `generator` - the generator (`null` permitted).
      See Also:
        `XYItemRenderer.getSeriesToolTipGenerator(int)`

    - #### getBaseToolTipGenerator

          public XYToolTipGenerator getBaseToolTipGenerator()

      Returns the base tool tip generator.
      Specified by:
        `getBaseToolTipGenerator` in interface `XYItemRenderer`
      Returns:
        The generator (possibly `null`).
      See Also:
        `setBaseToolTipGenerator(XYToolTipGenerator)`

    - #### setBaseToolTipGenerator

          public void setBaseToolTipGenerator(XYToolTipGenerator generator)

      Sets the base tool tip generator and sends a `RendererChangeEvent` to all registered listeners.
      Specified by:
        `setBaseToolTipGenerator` in interface `XYItemRenderer`
      Parameters:
        `generator` - the generator (`null` permitted).
      See Also:
        `getBaseToolTipGenerator()`

    - #### getURLGenerator

          public XYURLGenerator getURLGenerator()

      Returns the URL generator for HTML image maps.
      Specified by:
        `getURLGenerator` in interface `XYItemRenderer`
      Returns:
        The URL generator (possibly `null`).

    - #### setURLGenerator

          public void setURLGenerator(XYURLGenerator urlGenerator)

      Sets the URL generator for HTML image maps and sends a `RendererChangeEvent` to all registered listeners.
      Specified by:
        `setURLGenerator` in interface `XYItemRenderer`
      Parameters:
        `urlGenerator` - the URL generator (`null` permitted).

    - #### addAnnotation

          public void addAnnotation(XYAnnotation annotation)

      Adds an annotation and sends a `RendererChangeEvent` to all registered listeners. The annotation is added to the foreground layer.
      Specified by:
        `addAnnotation` in interface `XYItemRenderer`
      Parameters:
        `annotation` - the annotation (`null` not permitted).

    - #### addAnnotation

          public void addAnnotation(XYAnnotation annotation,
                                    Layer layer)

      Adds an annotation to the specified layer and sends a `RendererChangeEvent` to all registered listeners.
      Specified by:
        `addAnnotation` in interface `XYItemRenderer`
      Parameters:
        `annotation` - the annotation (`null` not permitted).
        `layer` - the layer (`null` not permitted).

    - #### removeAnnotation

          public boolean removeAnnotation(XYAnnotation annotation)

      Removes the specified annotation and sends a `RendererChangeEvent` to all registered listeners.
      Specified by:
        `removeAnnotation` in interface `XYItemRenderer`
      Parameters:
        `annotation` - the annotation to remove (`null` not permitted).
      Returns:
        A boolean to indicate whether or not the annotation was successfully removed.

    - #### removeAnnotations

          public void removeAnnotations()

      Removes all annotations and sends a `RendererChangeEvent` to all registered listeners.
      Specified by:
        `removeAnnotations` in interface `XYItemRenderer`

    - #### annotationChanged

          public void annotationChanged(AnnotationChangeEvent event)

      Receives notification of a change to an `Annotation` added to this renderer.
      Specified by:
        `annotationChanged` in interface `AnnotationChangeListener`
      Parameters:
        `event` - information about the event (not used here).
      Since:
        1.0.14

    - #### getAnnotations

          public java.util.Collection getAnnotations()

      Returns a collection of the annotations that are assigned to the renderer.
      Returns:
        A collection of annotations (possibly empty but never `null`).
      Since:
        1.0.13

    - #### getLegendItemLabelGenerator

          public XYSeriesLabelGenerator getLegendItemLabelGenerator()

      Returns the legend item label generator.
      Specified by:
        `getLegendItemLabelGenerator` in interface `XYItemRenderer`
      Returns:
        The label generator (never `null`).
      See Also:
        `setLegendItemLabelGenerator(XYSeriesLabelGenerator)`

    - #### setLegendItemLabelGenerator

          public void setLegendItemLabelGenerator(XYSeriesLabelGenerator generator)

      Sets the legend item label generator and sends a `RendererChangeEvent` to all registered listeners.
      Specified by:
        `setLegendItemLabelGenerator` in interface `XYItemRenderer`
      Parameters:
        `generator` - the generator (`null` not permitted).
      See Also:
        `getLegendItemLabelGenerator()`

    - #### getLegendItemToolTipGenerator

          public XYSeriesLabelGenerator getLegendItemToolTipGenerator()

      Returns the legend item tool tip generator.
      Returns:
        The tool tip generator (possibly `null`).
      See Also:
        `setLegendItemToolTipGenerator(XYSeriesLabelGenerator)`

    - #### setLegendItemToolTipGenerator

          public void setLegendItemToolTipGenerator(XYSeriesLabelGenerator generator)

      Sets the legend item tool tip generator and sends a `RendererChangeEvent` to all registered listeners.
      Parameters:
        `generator` - the generator (`null` permitted).
      See Also:
        `getLegendItemToolTipGenerator()`

    - #### getLegendItemURLGenerator

          public XYSeriesLabelGenerator getLegendItemURLGenerator()

      Returns the legend item URL generator.
      Returns:
        The URL generator (possibly `null`).
      See Also:
        `setLegendItemURLGenerator(XYSeriesLabelGenerator)`

    - #### setLegendItemURLGenerator

          public void setLegendItemURLGenerator(XYSeriesLabelGenerator generator)

      Sets the legend item URL generator and sends a `RendererChangeEvent` to all registered listeners.
      Parameters:
        `generator` - the generator (`null` permitted).
      See Also:
        `getLegendItemURLGenerator()`

    - #### findDomainBounds

          public Range findDomainBounds(XYDataset dataset)

      Returns the lower and upper bounds (range) of the x-values in the specified dataset.
      Specified by:
        `findDomainBounds` in interface `XYItemRenderer`
      Parameters:
        `dataset` - the dataset (`null` permitted).
      Returns:
        The range (`null` if the dataset is `null` or empty).
      See Also:
        `findRangeBounds(XYDataset)`

    - #### findDomainBounds

          protected Range findDomainBounds(XYDataset dataset,
                                           boolean includeInterval)

      Returns the lower and upper bounds (range) of the x-values in the specified dataset.
      Parameters:
        `dataset` - the dataset (`null` permitted).
        `includeInterval` - include the interval (if any) for the dataset?
      Returns:
        The range (`null` if the dataset is `null` or empty).
      Since:
        1.0.13

    - #### findRangeBounds

          public Range findRangeBounds(XYDataset dataset)

      Returns the range of values the renderer requires to display all the items from the specified dataset.
      Specified by:
        `findRangeBounds` in interface `XYItemRenderer`
      Parameters:
        `dataset` - the dataset (`null` permitted).
      Returns:
        The range (`null` if the dataset is `null` or empty).
      See Also:
        `findDomainBounds(XYDataset)`

    - #### findRangeBounds

          protected Range findRangeBounds(XYDataset 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 interval (if any) for the dataset?
      Returns:
        The range (`null` if the dataset is `null` or empty).
      Since:
        1.0.13

    - #### 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`).

    - #### getLegendItem

          public LegendItem getLegendItem(int datasetIndex,
                                          int series)

      Returns a default legend item for the specified series. Subclasses should override this method to generate customised items.
      Specified by:
        `getLegendItem` in interface `XYItemRenderer`
      Parameters:
        `datasetIndex` - the dataset index (zero-based).
        `series` - the series index (zero-based).
      Returns:
        A legend item for the series.

    - #### fillDomainGridBand

          public void fillDomainGridBand(java.awt.Graphics2D g2,
                                         XYPlot plot,
                                         ValueAxis axis,
                                         java.awt.geom.Rectangle2D dataArea,
                                         double start,
                                         double end)

      Fills a band between two values on the axis. This can be used to color bands between the grid lines.
      Specified by:
        `fillDomainGridBand` in interface `XYItemRenderer`
      Parameters:
        `g2` - the graphics device.
        `plot` - the plot.
        `axis` - the domain axis.
        `dataArea` - the data area.
        `start` - the start value.
        `end` - the end value.

    - #### fillRangeGridBand

          public void fillRangeGridBand(java.awt.Graphics2D g2,
                                        XYPlot plot,
                                        ValueAxis axis,
                                        java.awt.geom.Rectangle2D dataArea,
                                        double start,
                                        double end)

      Fills a band between two values on the range axis. This can be used to color bands between the grid lines.
      Specified by:
        `fillRangeGridBand` in interface `XYItemRenderer`
      Parameters:
        `g2` - the graphics device.
        `plot` - the plot.
        `axis` - the range axis.
        `dataArea` - the data area.
        `start` - the start value.
        `end` - the end value.

    - #### drawDomainGridLine

          public void drawDomainGridLine(java.awt.Graphics2D g2,
                                         XYPlot plot,
                                         ValueAxis axis,
                                         java.awt.geom.Rectangle2D dataArea,
                                         double value)

      Draws a grid line against the range axis.
      Specified by:
        `drawDomainGridLine` in interface `XYItemRenderer`
      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.

    - #### drawDomainLine

          public void drawDomainLine(java.awt.Graphics2D g2,
                                     XYPlot plot,
                                     ValueAxis axis,
                                     java.awt.geom.Rectangle2D dataArea,
                                     double value,
                                     java.awt.Paint paint,
                                     java.awt.Stroke stroke)

      Draws a line perpendicular to the domain 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.5

    - #### drawRangeLine

          public void drawRangeLine(java.awt.Graphics2D g2,
                                    XYPlot 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.
      Specified by:
        `drawRangeLine` in interface `XYItemRenderer`
      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.
        `stroke` - the stroke.

    - #### drawDomainMarker

          public void drawDomainMarker(java.awt.Graphics2D g2,
                                       XYPlot plot,
                                       ValueAxis domainAxis,
                                       Marker marker,
                                       java.awt.geom.Rectangle2D dataArea)

      Draws a vertical line on the chart to represent a 'range marker'.
      Specified by:
        `drawDomainMarker` in interface `XYItemRenderer`
      Parameters:
        `g2` - the graphics device.
        `plot` - the plot.
        `domainAxis` - the domain axis.
        `marker` - the marker line.
        `dataArea` - the axis data area.

    - #### calculateDomainMarkerTextAnchorPoint

          protected java.awt.geom.Point2D calculateDomainMarkerTextAnchorPoint(java.awt.Graphics2D g2,
                                                                               PlotOrientation orientation,
                                                                               java.awt.geom.Rectangle2D dataArea,
                                                                               java.awt.geom.Rectangle2D markerArea,
                                                                               RectangleInsets markerOffset,
                                                                               LengthAdjustmentType labelOffsetType,
                                                                               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 area.
        `markerOffset` - the marker label offset.
        `labelOffsetType` - the label offset type.
        `anchor` - the label anchor.
      Returns:
        The coordinates for drawing the marker label.

    - #### drawRangeMarker

          public void drawRangeMarker(java.awt.Graphics2D g2,
                                      XYPlot plot,
                                      ValueAxis rangeAxis,
                                      Marker marker,
                                      java.awt.geom.Rectangle2D dataArea)

      Draws a horizontal line across the chart to represent a 'range marker'.
      Specified by:
        `drawRangeMarker` in interface `XYItemRenderer`
      Parameters:
        `g2` - the graphics device.
        `plot` - the plot.
        `rangeAxis` - the range axis.
        `marker` - the marker line.
        `dataArea` - the axis data area.

    - #### clone

          protected java.lang.Object clone()
                                    throws java.lang.CloneNotSupportedException

      Returns a clone of the renderer.
      Overrides:
        `clone` in class `AbstractRenderer`
      Returns:
        A clone.
      Throws:
        `java.lang.CloneNotSupportedException` - if the renderer does not support cloning.

    - #### 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 (`null` permitted).
      Returns:
        `true` or `false`.

    - #### 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(CrosshairState crosshairState,
                                               double x,
                                               double y,
                                               int domainAxisIndex,
                                               int rangeAxisIndex,
                                               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).
        `x` - the x-value (in data space).
        `y` - the y-value (in data space).
        `domainAxisIndex` - the index of the domain axis for the point.
        `rangeAxisIndex` - the index of the range axis for the point.
        `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.4

    - #### drawItemLabel

          protected void drawItemLabel(java.awt.Graphics2D g2,
                                       PlotOrientation orientation,
                                       XYDataset dataset,
                                       int series,
                                       int item,
                                       double x,
                                       double y,
                                       boolean negative)

      Draws an item label.
      Parameters:
        `g2` - the graphics device.
        `orientation` - the orientation.
        `dataset` - the dataset.
        `series` - the series index (zero-based).
        `item` - the item index (zero-based).
        `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).

    - #### drawAnnotations

          public void drawAnnotations(java.awt.Graphics2D g2,
                                      java.awt.geom.Rectangle2D dataArea,
                                      ValueAxis domainAxis,
                                      ValueAxis rangeAxis,
                                      Layer layer,
                                      PlotRenderingInfo info)

      Draws all the annotations for the specified layer.
      Specified by:
        `drawAnnotations` in interface `XYItemRenderer`
      Parameters:
        `g2` - the graphics device.
        `dataArea` - the data area.
        `domainAxis` - the domain axis.
        `rangeAxis` - the range axis.
        `layer` - the layer.
        `info` - the plot rendering info.

    - #### addEntity

          protected void addEntity(EntityCollection entities,
                                   java.awt.Shape area,
                                   XYDataset dataset,
                                   int series,
                                   int item,
                                   double entityX,
                                   double entityY)

      Adds an entity to the collection.
      Parameters:
        `entities` - the entity collection being populated.
        `area` - the entity area (if `null` a default will be used).
        `dataset` - the dataset.
        `series` - the series.
        `item` - 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`).

    - #### isPointInRect

          public static boolean isPointInRect(java.awt.geom.Rectangle2D rect,
                                              double x,
                                              double y)

      Returns `true` if the specified point (x, y) falls within or on the boundary of the specified rectangle.
      Parameters:
        `rect` - the rectangle (`null` not permitted).
        `x` - the x-coordinate.
        `y` - the y-coordinate.
      Returns:
        A boolean.
      Since:
        1.0.10

    - #### moveTo

          protected static void moveTo(java.awt.geom.GeneralPath hotspot,
                                       double x,
                                       double y)

      Utility method delegating to `Path2D.Float.moveTo(double, double)` taking double as parameters.
      Parameters:
        `hotspot` - the region under construction (`null` not permitted);
        `x` - the x coordinate;
        `y` - the y coordinate;
      Since:
        1.0.14

    - #### lineTo

          protected static void lineTo(java.awt.geom.GeneralPath hotspot,
                                       double x,
                                       double y)

      Utility method delegating to `Path2D.Float.lineTo(double, double)` taking double as parameters.
      Parameters:
        `hotspot` - the region under construction (`null` not permitted);
        `x` - the x coordinate;
        `y` - the y coordinate;
      Since:
        1.0.14

    - #### getItemLabelGenerator

          public XYItemLabelGenerator getItemLabelGenerator()

      Deprecated. As of version 1.0.6, this override setting should not be used. You can use the base setting instead (`getBaseItemLabelGenerator()`).
      Returns the item label generator override.
      Returns:
        The generator (possibly `null`).
      Since:
        1.0.5
      See Also:
        `setItemLabelGenerator(XYItemLabelGenerator)`

    - #### setItemLabelGenerator

          public void setItemLabelGenerator(XYItemLabelGenerator generator)

      Deprecated. As of version 1.0.6, this override setting should not be used. You can use the base setting instead (`setBaseItemLabelGenerator(XYItemLabelGenerator)`).
      Sets the item label generator for ALL series and sends a `RendererChangeEvent` to all registered listeners.
      Specified by:
        `setItemLabelGenerator` in interface `XYItemRenderer`
      Parameters:
        `generator` - the generator (`null` permitted).
      See Also:
        `getItemLabelGenerator()`

    - #### getToolTipGenerator

          public XYToolTipGenerator getToolTipGenerator()

      Deprecated. As of version 1.0.6, this override setting should not be used. You can use the base setting instead (`getBaseToolTipGenerator()`).
      Returns the override tool tip generator.
      Returns:
        The tool tip generator (possible `null`).
      Since:
        1.0.5
      See Also:
        `setToolTipGenerator(XYToolTipGenerator)`

    - #### setToolTipGenerator

          public void setToolTipGenerator(XYToolTipGenerator generator)

      Deprecated. As of version 1.0.6, this override setting should not be used. You can use the base setting instead (`setBaseToolTipGenerator(XYToolTipGenerator)`).
      Sets the tool tip generator for ALL series and sends a `RendererChangeEvent` to all registered listeners.
      Specified by:
        `setToolTipGenerator` in interface `XYItemRenderer`
      Parameters:
        `generator` - the generator (`null` permitted).
      See Also:
        `getToolTipGenerator()`

    - #### updateCrosshairValues

          protected void updateCrosshairValues(CrosshairState crosshairState,
                                               double x,
                                               double y,
                                               double transX,
                                               double transY,
                                               PlotOrientation orientation)

      Deprecated. Use `updateCrosshairValues(CrosshairState, double, double, int, int, double, double, PlotOrientation)` -- see bug report 1086307.
      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).
        `x` - the x-value (in data space).
        `y` - the y-value (in data space).
        `transX` - the x-value translated to Java2D space.
        `transY` - the y-value translated to Java2D space.
        `orientation` - the plot orientation (`null` not permitted).