Class AbstractRenderer

java.lang.Object
org.jfree.chart.renderer.AbstractRenderer
All Implemented Interfaces:
Serializable, Cloneable
Direct Known Subclasses:
AbstractCategoryItemRenderer, AbstractXYItemRenderer, DefaultPolarItemRenderer, WaferMapRenderer

public abstract class AbstractRenderer extends Object implements Cloneable, Serializable
Base class providing common services for renderers. Most methods that update attributes of the renderer will fire a RendererChangeEvent, which normally means the plot that owns the renderer will receive notification that the renderer has been changed (the plot will, in turn, notify the chart).
See Also:
  • Field Details

    • serialVersionUID

      private static final long serialVersionUID
      For serialization.
      See Also:
    • ZERO

      public static final Double ZERO
      Zero represented as a double.
    • DEFAULT_PAINT

      public static final Paint DEFAULT_PAINT
      The default paint.
    • DEFAULT_OUTLINE_PAINT

      public static final Paint DEFAULT_OUTLINE_PAINT
      The default outline paint.
    • DEFAULT_STROKE

      public static final Stroke DEFAULT_STROKE
      The default stroke.
    • DEFAULT_OUTLINE_STROKE

      public static final Stroke DEFAULT_OUTLINE_STROKE
      The default outline stroke.
    • DEFAULT_SHAPE

      public static final Shape DEFAULT_SHAPE
      The default shape.
    • DEFAULT_VALUE_LABEL_FONT

      public static final Font DEFAULT_VALUE_LABEL_FONT
      The default value label font.
    • DEFAULT_VALUE_LABEL_PAINT

      public static final Paint DEFAULT_VALUE_LABEL_PAINT
      The default value label paint.
    • DEFAULT_ITEM_LABEL_INSETS

      public static final RectangleInsets DEFAULT_ITEM_LABEL_INSETS
      The default item label insets.
    • seriesVisibleList

      private BooleanList seriesVisibleList
      A list of flags that controls whether or not each series is visible.
    • defaultSeriesVisible

      private boolean defaultSeriesVisible
      The default visibility for all series.
    • seriesVisibleInLegendList

      private BooleanList seriesVisibleInLegendList
      A list of flags that controls whether or not each series is visible in the legend.
    • defaultSeriesVisibleInLegend

      private boolean defaultSeriesVisibleInLegend
      The default visibility for each series in the legend.
    • paintList

      private PaintList paintList
      The paint list.
    • autoPopulateSeriesPaint

      private boolean autoPopulateSeriesPaint
      A flag that controls whether or not the paintList is auto-populated in the lookupSeriesPaint(int) method.
    • defaultPaint

      private transient Paint defaultPaint
      The default paint, used when there is no paint assigned for a series.
    • fillPaintList

      private PaintList fillPaintList
      The fill paint list.
    • autoPopulateSeriesFillPaint

      private boolean autoPopulateSeriesFillPaint
      A flag that controls whether or not the fillPaintList is auto-populated in the lookupSeriesFillPaint(int) method.
    • defaultFillPaint

      private transient Paint defaultFillPaint
      The base fill paint.
    • outlinePaintList

      private PaintList outlinePaintList
      The outline paint list.
    • autoPopulateSeriesOutlinePaint

      private boolean autoPopulateSeriesOutlinePaint
      A flag that controls whether or not the outlinePaintList is auto-populated in the lookupSeriesOutlinePaint(int) method.
    • defaultOutlinePaint

      private transient Paint defaultOutlinePaint
      The base outline paint.
    • strokeList

      private StrokeList strokeList
      The stroke list.
    • autoPopulateSeriesStroke

      private boolean autoPopulateSeriesStroke
      A flag that controls whether or not the strokeList is auto-populated in the lookupSeriesStroke(int) method.
    • defaultStroke

      private transient Stroke defaultStroke
      The base stroke.
    • outlineStrokeList

      private StrokeList outlineStrokeList
      The outline stroke list.
    • defaultOutlineStroke

      private transient Stroke defaultOutlineStroke
      The base outline stroke.
    • autoPopulateSeriesOutlineStroke

      private boolean autoPopulateSeriesOutlineStroke
      A flag that controls whether or not the outlineStrokeList is auto-populated in the lookupSeriesOutlineStroke(int) method.
    • shapeList

      private ShapeList shapeList
      A shape list.
    • autoPopulateSeriesShape

      private boolean autoPopulateSeriesShape
      A flag that controls whether or not the shapeList is auto-populated in the lookupSeriesShape(int) method.
    • defaultShape

      private transient Shape defaultShape
      The base shape.
    • itemLabelsVisibleList

      private BooleanList itemLabelsVisibleList
      Visibility of the item labels PER series.
    • defaultItemLabelsVisible

      private boolean defaultItemLabelsVisible
      The base item labels visible.
    • itemLabelFontMap

      private Map<Integer,Font> itemLabelFontMap
      The item label font list (one font per series).
    • defaultItemLabelFont

      private Font defaultItemLabelFont
      The base item label font.
    • itemLabelPaintList

      private PaintList itemLabelPaintList
      The item label paint list (one paint per series).
    • defaultItemLabelPaint

      private transient Paint defaultItemLabelPaint
      The base item label paint.
    • computeItemLabelContrastColor

      private boolean computeItemLabelContrastColor
      Option to use contrast colors for item labels
    • positiveItemLabelPositionMap

      private Map<Integer,ItemLabelPosition> positiveItemLabelPositionMap
      The positive item label position (per series).
    • defaultPositiveItemLabelPosition

      private ItemLabelPosition defaultPositiveItemLabelPosition
      The fallback positive item label position.
    • negativeItemLabelPositionMap

      private Map<Integer,ItemLabelPosition> negativeItemLabelPositionMap
      The negative item label position (per series).
    • defaultNegativeItemLabelPosition

      private ItemLabelPosition defaultNegativeItemLabelPosition
      The fallback negative item label position.
    • itemLabelInsets

      private RectangleInsets itemLabelInsets
      The item label insets.
    • createEntitiesList

      private BooleanList createEntitiesList
      Flags that control whether or not entities are generated for each series. This will be overridden by 'createEntities'.
    • defaultCreateEntities

      private boolean defaultCreateEntities
      The default flag that controls whether or not entities are generated. This flag is used when both the above flags return null.
    • legendShapeList

      private ShapeList legendShapeList
      The per-series legend shape settings.
    • defaultLegendShape

      private transient Shape defaultLegendShape
      The base shape for legend items. If this is null, the series shape will be used.
    • treatLegendShapeAsLine

      private boolean treatLegendShapeAsLine
      A special flag that, if true, will cause the getLegendItem() method to configure the legend shape as if it were a line.
    • legendTextFontMap

      private Map<Integer,Font> legendTextFontMap
      The per-series legend text font.
    • defaultLegendTextFont

      private Font defaultLegendTextFont
      The base legend font.
    • legendTextPaint

      private PaintList legendTextPaint
      The per series legend text paint settings.
    • defaultLegendTextPaint

      private transient Paint defaultLegendTextPaint
      The default paint for the legend text items (if this is null, the LegendTitle class will determine the text paint to use.
    • dataBoundsIncludesVisibleSeriesOnly

      private boolean dataBoundsIncludesVisibleSeriesOnly
      A flag that controls whether or not the renderer will include the non-visible series when calculating the data bounds.
    • defaultEntityRadius

      private int defaultEntityRadius
      The default radius for the entity 'hotspot'
    • listenerList

      private transient EventListenerList listenerList
      Storage for registered change listeners.
    • event

      private transient RendererChangeEvent event
      An event for re-use.
    • ADJ

      private static final double ADJ
      The adjacent offset.
    • OPP

      private static final double OPP
      The opposite offset.
  • Constructor Details

    • AbstractRenderer

      public AbstractRenderer()
      Default constructor.
  • Method Details

    • getDrawingSupplier

      public abstract DrawingSupplier getDrawingSupplier()
      Returns the drawing supplier from the plot.
      Returns:
      The drawing supplier.
    • beginElementGroup

      protected void beginElementGroup(Graphics2D g2, ItemKey key)
      Adds a KEY_BEGIN_ELEMENT hint to the graphics target. This hint is recognised by JFreeSVG (in theory it could be used by other Graphics2D implementations also).
      Parameters:
      g2 - the graphics target (null not permitted).
      key - the key (null not permitted).
      See Also:
    • endElementGroup

      protected void endElementGroup(Graphics2D g2)
      Adds a KEY_END_ELEMENT hint to the graphics target.
      Parameters:
      g2 - the graphics target (null not permitted).
      See Also:
    • getItemVisible

      public boolean getItemVisible(int series, int item)
      Returns a boolean that indicates whether or not the specified item should be drawn.
      Parameters:
      series - the series index.
      item - the item index.
      Returns:
      A boolean.
    • isSeriesVisible

      public boolean isSeriesVisible(int series)
      Returns a boolean that indicates whether or not the specified series should be drawn. In fact this method should be named lookupSeriesVisible() to be consistent with the other series attributes and avoid confusion with the getSeriesVisible() method.
      Parameters:
      series - the series index.
      Returns:
      A boolean.
    • getSeriesVisible

      public Boolean getSeriesVisible(int series)
      Returns the flag that controls whether a series is visible.
      Parameters:
      series - the series index (zero-based).
      Returns:
      The flag (possibly null).
      See Also:
    • setSeriesVisible

      public void setSeriesVisible(int series, Boolean visible)
      Sets the flag that controls whether a series is visible and sends a RendererChangeEvent to all registered listeners.
      Parameters:
      series - the series index (zero-based).
      visible - the flag (null permitted).
      See Also:
    • setSeriesVisible

      public void setSeriesVisible(int series, Boolean visible, boolean notify)
      Sets the flag that controls whether a series is visible and, if requested, sends a RendererChangeEvent to all registered listeners.
      Parameters:
      series - the series index.
      visible - the flag (null permitted).
      notify - notify listeners?
      See Also:
    • getDefaultSeriesVisible

      public boolean getDefaultSeriesVisible()
      Returns the default visibility for all series.
      Returns:
      The default visibility.
      See Also:
    • setDefaultSeriesVisible

      public void setDefaultSeriesVisible(boolean visible)
      Sets the default series visibility and sends a RendererChangeEvent to all registered listeners.
      Parameters:
      visible - the flag.
      See Also:
    • setDefaultSeriesVisible

      public void setDefaultSeriesVisible(boolean visible, boolean notify)
      Sets the default series visibility and, if requested, sends a RendererChangeEvent to all registered listeners.
      Parameters:
      visible - the visibility.
      notify - notify listeners?
      See Also:
    • isSeriesVisibleInLegend

      public boolean isSeriesVisibleInLegend(int series)
      Returns true if the series should be shown in the legend, and false otherwise.
      Parameters:
      series - the series index.
      Returns:
      A boolean.
    • getSeriesVisibleInLegend

      public Boolean getSeriesVisibleInLegend(int series)
      Returns the flag that controls whether a series is visible in the legend. This method returns only the "per series" settings - to incorporate the default settings as well, you need to use the isSeriesVisibleInLegend(int) method.
      Parameters:
      series - the series index (zero-based).
      Returns:
      The flag (possibly null).
      See Also:
    • setSeriesVisibleInLegend

      public void setSeriesVisibleInLegend(int series, Boolean visible)
      Sets the flag that controls whether a series is visible in the legend and sends a RendererChangeEvent to all registered listeners.
      Parameters:
      series - the series index (zero-based).
      visible - the flag (null permitted).
      See Also:
    • setSeriesVisibleInLegend

      public void setSeriesVisibleInLegend(int series, Boolean visible, boolean notify)
      Sets the flag that controls whether a series is visible in the legend and, if requested, sends a RendererChangeEvent to all registered listeners.
      Parameters:
      series - the series index.
      visible - the flag (null permitted).
      notify - notify listeners?
      See Also:
    • getDefaultSeriesVisibleInLegend

      public boolean getDefaultSeriesVisibleInLegend()
      Returns the default visibility in the legend for all series.
      Returns:
      The default visibility.
      See Also:
    • setDefaultSeriesVisibleInLegend

      public void setDefaultSeriesVisibleInLegend(boolean visible)
      Sets the default visibility in the legend and sends a RendererChangeEvent to all registered listeners.
      Parameters:
      visible - the flag.
      See Also:
    • setDefaultSeriesVisibleInLegend

      public void setDefaultSeriesVisibleInLegend(boolean visible, boolean notify)
      Sets the default visibility in the legend and, if requested, sends a RendererChangeEvent to all registered listeners.
      Parameters:
      visible - the visibility.
      notify - notify listeners?
      See Also:
    • getItemPaint

      public Paint getItemPaint(int row, int column)
      Returns the paint used to fill data items as they are drawn. (this is typically the same for an entire series).

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

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

      public Paint lookupSeriesPaint(int series)
      Returns the paint used to fill an item drawn by the renderer.
      Parameters:
      series - the series index (zero-based).
      Returns:
      The paint (never null).
    • getSeriesPaint

      public Paint getSeriesPaint(int series)
      Returns the paint used to fill an item drawn by the renderer.
      Parameters:
      series - the series index (zero-based).
      Returns:
      The paint (possibly null).
      See Also:
    • setSeriesPaint

      public void setSeriesPaint(int series, Paint paint)
      Sets the paint used for a series and sends a RendererChangeEvent to all registered listeners.
      Parameters:
      series - the series index (zero-based).
      paint - the paint (null permitted).
      See Also:
    • setSeriesPaint

      public void setSeriesPaint(int series, Paint paint, boolean notify)
      Sets the paint used for a series and, if requested, sends a RendererChangeEvent to all registered listeners.
      Parameters:
      series - the series index.
      paint - the paint (null permitted).
      notify - notify listeners?
      See Also:
    • clearSeriesPaints

      public void clearSeriesPaints(boolean notify)
      Clears the series paint settings for this renderer and, if requested, sends a RendererChangeEvent to all registered listeners.
      Parameters:
      notify - notify listeners?
    • getDefaultPaint

      public Paint getDefaultPaint()
      Returns the default paint.
      Returns:
      The default paint (never null).
      See Also:
    • setDefaultPaint

      public void setDefaultPaint(Paint paint)
      Sets the default paint and sends a RendererChangeEvent to all registered listeners.
      Parameters:
      paint - the paint (null not permitted).
      See Also:
    • setDefaultPaint

      public void setDefaultPaint(Paint paint, boolean notify)
      Sets the default paint and, if requested, sends a RendererChangeEvent to all registered listeners.
      Parameters:
      paint - the paint (null not permitted).
      notify - notify listeners?
      See Also:
    • getAutoPopulateSeriesPaint

      public boolean getAutoPopulateSeriesPaint()
      Returns the flag that controls whether or not the series paint list is automatically populated when lookupSeriesPaint(int) is called.
      Returns:
      A boolean.
      See Also:
    • setAutoPopulateSeriesPaint

      public void setAutoPopulateSeriesPaint(boolean auto)
      Sets the flag that controls whether or not the series paint list is automatically populated when lookupSeriesPaint(int) is called.
      Parameters:
      auto - the new flag value.
      See Also:
    • getItemFillPaint

      public Paint getItemFillPaint(int row, int column)
      Returns the paint used to fill data items as they are drawn. The default implementation passes control to the lookupSeriesFillPaint(int) method - you can override this method if you require different behaviour.
      Parameters:
      row - the row (or series) index (zero-based).
      column - the column (or category) index (zero-based).
      Returns:
      The paint (never null).
    • lookupSeriesFillPaint

      public Paint lookupSeriesFillPaint(int series)
      Returns the paint used to fill an item drawn by the renderer.
      Parameters:
      series - the series (zero-based index).
      Returns:
      The paint (never null).
    • getSeriesFillPaint

      public Paint getSeriesFillPaint(int series)
      Returns the paint used to fill an item drawn by the renderer.
      Parameters:
      series - the series (zero-based index).
      Returns:
      The paint (never null).
      See Also:
    • setSeriesFillPaint

      public void setSeriesFillPaint(int series, Paint paint)
      Sets the paint used for a series fill and sends a RendererChangeEvent to all registered listeners.
      Parameters:
      series - the series index (zero-based).
      paint - the paint (null permitted).
      See Also:
    • setSeriesFillPaint

      public void setSeriesFillPaint(int series, Paint paint, boolean notify)
      Sets the paint used to fill a series and, if requested, sends a RendererChangeEvent to all registered listeners.
      Parameters:
      series - the series index (zero-based).
      paint - the paint (null permitted).
      notify - notify listeners?
      See Also:
    • getDefaultFillPaint

      public Paint getDefaultFillPaint()
      Returns the default fill paint.
      Returns:
      The paint (never null).
      See Also:
    • setDefaultFillPaint

      public void setDefaultFillPaint(Paint paint)
      Sets the default fill paint and sends a RendererChangeEvent to all registered listeners.
      Parameters:
      paint - the paint (null not permitted).
      See Also:
    • setDefaultFillPaint

      public void setDefaultFillPaint(Paint paint, boolean notify)
      Sets the default fill paint and, if requested, sends a RendererChangeEvent to all registered listeners.
      Parameters:
      paint - the paint (null not permitted).
      notify - notify listeners?
      See Also:
    • getAutoPopulateSeriesFillPaint

      public boolean getAutoPopulateSeriesFillPaint()
      Returns the flag that controls whether or not the series fill paint list is automatically populated when lookupSeriesFillPaint(int) is called.
      Returns:
      A boolean.
      See Also:
    • setAutoPopulateSeriesFillPaint

      public void setAutoPopulateSeriesFillPaint(boolean auto)
      Sets the flag that controls whether or not the series fill paint list is automatically populated when lookupSeriesFillPaint(int) is called.
      Parameters:
      auto - the new flag value.
      See Also:
    • getItemOutlinePaint

      public Paint getItemOutlinePaint(int row, int column)
      Returns the paint used to outline data items as they are drawn. (this is typically the same for an entire series).

      The default implementation passes control to the lookupSeriesOutlinePaint(int) method. You can override this method if you require different behaviour.

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

      public Paint lookupSeriesOutlinePaint(int series)
      Returns the paint used to outline an item drawn by the renderer.
      Parameters:
      series - the series (zero-based index).
      Returns:
      The paint (never null).
    • getSeriesOutlinePaint

      public Paint getSeriesOutlinePaint(int series)
      Returns the paint used to outline an item drawn by the renderer.
      Parameters:
      series - the series (zero-based index).
      Returns:
      The paint (possibly null).
      See Also:
    • setSeriesOutlinePaint

      public void setSeriesOutlinePaint(int series, Paint paint)
      Sets the paint used for a series outline and sends a RendererChangeEvent to all registered listeners.
      Parameters:
      series - the series index (zero-based).
      paint - the paint (null permitted).
      See Also:
    • setSeriesOutlinePaint

      public void setSeriesOutlinePaint(int series, Paint paint, boolean notify)
      Sets the paint used to draw the outline for a series and, if requested, sends a RendererChangeEvent to all registered listeners.
      Parameters:
      series - the series index (zero-based).
      paint - the paint (null permitted).
      notify - notify listeners?
      See Also:
    • getDefaultOutlinePaint

      public Paint getDefaultOutlinePaint()
      Returns the default outline paint.
      Returns:
      The paint (never null).
      See Also:
    • setDefaultOutlinePaint

      public void setDefaultOutlinePaint(Paint paint)
      Sets the default outline paint and sends a RendererChangeEvent to all registered listeners.
      Parameters:
      paint - the paint (null not permitted).
      See Also:
    • setDefaultOutlinePaint

      public void setDefaultOutlinePaint(Paint paint, boolean notify)
      Sets the default outline paint and, if requested, sends a RendererChangeEvent to all registered listeners.
      Parameters:
      paint - the paint (null not permitted).
      notify - notify listeners?
      See Also:
    • getAutoPopulateSeriesOutlinePaint

      public boolean getAutoPopulateSeriesOutlinePaint()
      Returns the flag that controls whether or not the series outline paint list is automatically populated when lookupSeriesOutlinePaint(int) is called.
      Returns:
      A boolean.
      See Also:
    • setAutoPopulateSeriesOutlinePaint

      public void setAutoPopulateSeriesOutlinePaint(boolean auto)
      Sets the flag that controls whether or not the series outline paint list is automatically populated when lookupSeriesOutlinePaint(int) is called.
      Parameters:
      auto - the new flag value.
      See Also:
    • getItemStroke

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

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

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

      public Stroke lookupSeriesStroke(int series)
      Returns the stroke used to draw the items in a series.
      Parameters:
      series - the series (zero-based index).
      Returns:
      The stroke (never null).
    • getSeriesStroke

      public Stroke getSeriesStroke(int series)
      Returns the stroke used to draw the items in a series.
      Parameters:
      series - the series (zero-based index).
      Returns:
      The stroke (possibly null).
      See Also:
    • setSeriesStroke

      public void setSeriesStroke(int series, Stroke stroke)
      Sets the stroke used for a series and sends a RendererChangeEvent to all registered listeners.
      Parameters:
      series - the series index (zero-based).
      stroke - the stroke (null permitted).
      See Also:
    • setSeriesStroke

      public void setSeriesStroke(int series, Stroke stroke, boolean notify)
      Sets the stroke for a series and, if requested, sends a RendererChangeEvent to all registered listeners.
      Parameters:
      series - the series index (zero-based).
      stroke - the stroke (null permitted).
      notify - notify listeners?
      See Also:
    • clearSeriesStrokes

      public void clearSeriesStrokes(boolean notify)
      Clears the series stroke settings for this renderer and, if requested, sends a RendererChangeEvent to all registered listeners.
      Parameters:
      notify - notify listeners?
    • getDefaultStroke

      public Stroke getDefaultStroke()
      Returns the default stroke.
      Returns:
      The default stroke (never null).
      See Also:
    • setDefaultStroke

      public void setDefaultStroke(Stroke stroke)
      Sets the default stroke and sends a RendererChangeEvent to all registered listeners.
      Parameters:
      stroke - the stroke (null not permitted).
      See Also:
    • setDefaultStroke

      public void setDefaultStroke(Stroke stroke, boolean notify)
      Sets the base stroke and, if requested, sends a RendererChangeEvent to all registered listeners.
      Parameters:
      stroke - the stroke (null not permitted).
      notify - notify listeners?
      See Also:
    • getAutoPopulateSeriesStroke

      public boolean getAutoPopulateSeriesStroke()
      Returns the flag that controls whether or not the series stroke list is automatically populated when lookupSeriesStroke(int) is called.
      Returns:
      A boolean.
      See Also:
    • setAutoPopulateSeriesStroke

      public void setAutoPopulateSeriesStroke(boolean auto)
      Sets the flag that controls whether or not the series stroke list is automatically populated when lookupSeriesStroke(int) is called.
      Parameters:
      auto - the new flag value.
      See Also:
    • getItemOutlineStroke

      public Stroke getItemOutlineStroke(int row, int column)
      Returns the stroke used to outline data items. The default implementation passes control to the lookupSeriesOutlineStroke(int) method. You can override this method if you require different behaviour.
      Parameters:
      row - the row (or series) index (zero-based).
      column - the column (or category) index (zero-based).
      Returns:
      The stroke (never null).
    • lookupSeriesOutlineStroke

      public Stroke lookupSeriesOutlineStroke(int series)
      Returns the stroke used to outline the items in a series.
      Parameters:
      series - the series (zero-based index).
      Returns:
      The stroke (never null).
    • getSeriesOutlineStroke

      public Stroke getSeriesOutlineStroke(int series)
      Returns the stroke used to outline the items in a series.
      Parameters:
      series - the series (zero-based index).
      Returns:
      The stroke (possibly null).
      See Also:
    • setSeriesOutlineStroke

      public void setSeriesOutlineStroke(int series, Stroke stroke)
      Sets the outline stroke used for a series and sends a RendererChangeEvent to all registered listeners.
      Parameters:
      series - the series index (zero-based).
      stroke - the stroke (null permitted).
      See Also:
    • setSeriesOutlineStroke

      public void setSeriesOutlineStroke(int series, Stroke stroke, boolean notify)
      Sets the outline stroke for a series and, if requested, sends a RendererChangeEvent to all registered listeners.
      Parameters:
      series - the series index.
      stroke - the stroke (null permitted).
      notify - notify listeners?
      See Also:
    • getDefaultOutlineStroke

      public Stroke getDefaultOutlineStroke()
      Returns the default outline stroke.
      Returns:
      The stroke (never null).
      See Also:
    • setDefaultOutlineStroke

      public void setDefaultOutlineStroke(Stroke stroke)
      Sets the default outline stroke and sends a RendererChangeEvent to all registered listeners.
      Parameters:
      stroke - the stroke (null not permitted).
      See Also:
    • setDefaultOutlineStroke

      public void setDefaultOutlineStroke(Stroke stroke, boolean notify)
      Sets the default outline stroke and, if requested, sends a RendererChangeEvent to all registered listeners.
      Parameters:
      stroke - the stroke (null not permitted).
      notify - a flag that controls whether or not listeners are notified.
      See Also:
    • getAutoPopulateSeriesOutlineStroke

      public boolean getAutoPopulateSeriesOutlineStroke()
      Returns the flag that controls whether or not the series outline stroke list is automatically populated when lookupSeriesOutlineStroke(int) is called.
      Returns:
      A boolean.
      See Also:
    • setAutoPopulateSeriesOutlineStroke

      public void setAutoPopulateSeriesOutlineStroke(boolean auto)
      Sets the flag that controls whether or not the series outline stroke list is automatically populated when lookupSeriesOutlineStroke(int) is called.
      Parameters:
      auto - the new flag value.
      See Also:
    • getItemShape

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

      The default implementation passes control to the lookupSeriesShape(int) method. You can override this method if you require different behaviour.

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

      public Shape lookupSeriesShape(int series)
      Returns a shape used to represent the items in a series.
      Parameters:
      series - the series (zero-based index).
      Returns:
      The shape (never null).
    • getSeriesShape

      public Shape getSeriesShape(int series)
      Returns a shape used to represent the items in a series.
      Parameters:
      series - the series (zero-based index).
      Returns:
      The shape (possibly null).
      See Also:
    • setSeriesShape

      public void setSeriesShape(int series, Shape shape)
      Sets the shape used for a series and sends a RendererChangeEvent to all registered listeners.
      Parameters:
      series - the series index (zero-based).
      shape - the shape (null permitted).
      See Also:
    • setSeriesShape

      public void setSeriesShape(int series, Shape shape, boolean notify)
      Sets the shape for a series and, if requested, sends a RendererChangeEvent to all registered listeners.
      Parameters:
      series - the series index (zero based).
      shape - the shape (null permitted).
      notify - notify listeners?
      See Also:
    • getDefaultShape

      public Shape getDefaultShape()
      Returns the default shape.
      Returns:
      The shape (never null).
      See Also:
    • setDefaultShape

      public void setDefaultShape(Shape shape)
      Sets the default shape and sends a RendererChangeEvent to all registered listeners.
      Parameters:
      shape - the shape (null not permitted).
      See Also:
    • setDefaultShape

      public void setDefaultShape(Shape shape, boolean notify)
      Sets the default shape and, if requested, sends a RendererChangeEvent to all registered listeners.
      Parameters:
      shape - the shape (null not permitted).
      notify - notify listeners?
      See Also:
    • getAutoPopulateSeriesShape

      public boolean getAutoPopulateSeriesShape()
      Returns the flag that controls whether or not the series shape list is automatically populated when lookupSeriesShape(int) is called.
      Returns:
      A boolean.
      See Also:
    • setAutoPopulateSeriesShape

      public void setAutoPopulateSeriesShape(boolean auto)
      Sets the flag that controls whether or not the series shape list is automatically populated when lookupSeriesShape(int) is called.
      Parameters:
      auto - the new flag value.
      See Also:
    • isItemLabelVisible

      public boolean isItemLabelVisible(int row, int column)
      Returns true if an item label is visible, and false otherwise.
      Parameters:
      row - the row (or series) index (zero-based).
      column - the column (or category) index (zero-based).
      Returns:
      A boolean.
    • isSeriesItemLabelsVisible

      public boolean isSeriesItemLabelsVisible(int series)
      Returns true if the item labels for a series are visible, and false otherwise.
      Parameters:
      series - the series index (zero-based).
      Returns:
      A boolean.
    • setSeriesItemLabelsVisible

      public void setSeriesItemLabelsVisible(int series, boolean visible)
      Sets a flag that controls the visibility of the item labels for a series, and sends a RendererChangeEvent to all registered listeners.
      Parameters:
      series - the series index (zero-based).
      visible - the flag.
    • setSeriesItemLabelsVisible

      public void setSeriesItemLabelsVisible(int series, Boolean visible)
      Sets the visibility of the item labels for a series and sends a RendererChangeEvent to all registered listeners.
      Parameters:
      series - the series index (zero-based).
      visible - the flag (null permitted).
    • setSeriesItemLabelsVisible

      public void setSeriesItemLabelsVisible(int series, Boolean visible, boolean notify)
      Sets the visibility of item labels for a series and, if requested, sends a RendererChangeEvent to all registered listeners.
      Parameters:
      series - the series index (zero-based).
      visible - the visible flag.
      notify - a flag that controls whether or not listeners are notified.
    • getDefaultItemLabelsVisible

      public boolean getDefaultItemLabelsVisible()
      Returns the base setting for item label visibility. A null result should be interpreted as equivalent to Boolean.FALSE.
      Returns:
      A flag (possibly null).
      See Also:
    • setDefaultItemLabelsVisible

      public void setDefaultItemLabelsVisible(boolean visible)
      Sets the base flag that controls whether or not item labels are visible, and sends a RendererChangeEvent to all registered listeners.
      Parameters:
      visible - the flag.
      See Also:
    • setDefaultItemLabelsVisible

      public void setDefaultItemLabelsVisible(boolean visible, boolean notify)
      Sets the base visibility for item labels and, if requested, sends a RendererChangeEvent to all registered listeners.
      Parameters:
      visible - the flag (null is permitted, and viewed as equivalent to Boolean.FALSE).
      notify - a flag that controls whether or not listeners are notified.
      See Also:
    • getItemLabelFont

      public Font getItemLabelFont(int row, int column)
      Returns the font for an item label.
      Parameters:
      row - the row (or series) index (zero-based).
      column - the column (or category) index (zero-based).
      Returns:
      The font (never null).
    • getSeriesItemLabelFont

      public Font getSeriesItemLabelFont(int series)
      Returns the font for all the item labels in a series.
      Parameters:
      series - the series index (zero-based).
      Returns:
      The font (possibly null).
      See Also:
    • setSeriesItemLabelFont

      public void setSeriesItemLabelFont(int series, Font font)
      Sets the item label font for a series and sends a RendererChangeEvent to all registered listeners.
      Parameters:
      series - the series index (zero-based).
      font - the font (null permitted).
      See Also:
    • setSeriesItemLabelFont

      public void setSeriesItemLabelFont(int series, Font font, boolean notify)
      Sets the item label font for a series and, if requested, sends a RendererChangeEvent to all registered listeners.
      Parameters:
      series - the series index (zero based).
      font - the font (null permitted).
      notify - a flag that controls whether or not listeners are notified.
      See Also:
    • getDefaultItemLabelFont

      public Font getDefaultItemLabelFont()
      Returns the default item label font (this is used when no other font setting is available).
      Returns:
      The font (never null).
      See Also:
    • setDefaultItemLabelFont

      public void setDefaultItemLabelFont(Font font)
      Sets the default item label font and sends a RendererChangeEvent to all registered listeners.
      Parameters:
      font - the font (null not permitted).
      See Also:
    • setDefaultItemLabelFont

      public void setDefaultItemLabelFont(Font font, boolean notify)
      Sets the base item label font and, if requested, sends a RendererChangeEvent to all registered listeners.
      Parameters:
      font - the font (null not permitted).
      notify - a flag that controls whether or not listeners are notified.
      See Also:
    • isComputeItemLabelContrastColor

      public boolean isComputeItemLabelContrastColor()
      Returns true if contrast colors are automatically computed for item labels.
      Returns:
      true if contrast colors are automatically computed for item labels.
    • setComputeItemLabelContrastColor

      public void setComputeItemLabelContrastColor(boolean auto)
      If auto is set to true and getItemPaint(int, int) returns an instance of Color, a contrast color is computed and used for the item label.
      Parameters:
      auto - true if contrast colors should be computed for item labels.
      See Also:
    • getItemLabelPaint

      public Paint getItemLabelPaint(int row, int column)
      Returns the paint used to draw an item label.
      Parameters:
      row - the row index (zero based).
      column - the column index (zero based).
      Returns:
      The paint (never null).
    • getSeriesItemLabelPaint

      public Paint getSeriesItemLabelPaint(int series)
      Returns the paint used to draw the item labels for a series.
      Parameters:
      series - the series index (zero based).
      Returns:
      The paint (possibly null).
      See Also:
    • setSeriesItemLabelPaint

      public void setSeriesItemLabelPaint(int series, Paint paint)
      Sets the item label paint for a series and sends a RendererChangeEvent to all registered listeners.
      Parameters:
      series - the series (zero based index).
      paint - the paint (null permitted).
      See Also:
    • setSeriesItemLabelPaint

      public void setSeriesItemLabelPaint(int series, Paint paint, boolean notify)
      Sets the item label paint for a series and, if requested, sends a RendererChangeEvent to all registered listeners.
      Parameters:
      series - the series index (zero based).
      paint - the paint (null permitted).
      notify - a flag that controls whether or not listeners are notified.
      See Also:
    • getDefaultItemLabelPaint

      public Paint getDefaultItemLabelPaint()
      Returns the default item label paint.
      Returns:
      The paint (never null).
      See Also:
    • setDefaultItemLabelPaint

      public void setDefaultItemLabelPaint(Paint paint)
      Sets the default item label paint and sends a RendererChangeEvent to all registered listeners.
      Parameters:
      paint - the paint (null not permitted).
      See Also:
    • setDefaultItemLabelPaint

      public void setDefaultItemLabelPaint(Paint paint, boolean notify)
      Sets the default item label paint and, if requested, sends a RendererChangeEvent to all registered listeners..
      Parameters:
      paint - the paint (null not permitted).
      notify - a flag that controls whether or not listeners are notified.
      See Also:
    • getPositiveItemLabelPosition

      public ItemLabelPosition getPositiveItemLabelPosition(int row, int column)
      Returns the item label position for positive values.
      Parameters:
      row - the row (or series) index (zero-based).
      column - the column (or category) index (zero-based).
      Returns:
      The item label position (never null).
      See Also:
    • getSeriesPositiveItemLabelPosition

      public ItemLabelPosition getSeriesPositiveItemLabelPosition(int series)
      Returns the item label position for all positive values in a series.
      Parameters:
      series - the series index (zero-based).
      Returns:
      The item label position (never null).
      See Also:
    • setSeriesPositiveItemLabelPosition

      public void setSeriesPositiveItemLabelPosition(int series, ItemLabelPosition position)
      Sets the item label position for all positive values in a series and sends a RendererChangeEvent to all registered listeners.
      Parameters:
      series - the series index (zero-based).
      position - the position (null permitted).
      See Also:
    • setSeriesPositiveItemLabelPosition

      public void setSeriesPositiveItemLabelPosition(int series, ItemLabelPosition position, boolean notify)
      Sets the item label position for all positive values in a series and (if requested) sends a RendererChangeEvent to all registered listeners.
      Parameters:
      series - the series index (zero-based).
      position - the position (null permitted).
      notify - notify registered listeners?
      See Also:
    • getDefaultPositiveItemLabelPosition

      public ItemLabelPosition getDefaultPositiveItemLabelPosition()
      Returns the default positive item label position.
      Returns:
      The position (never null).
      See Also:
    • setDefaultPositiveItemLabelPosition

      public void setDefaultPositiveItemLabelPosition(ItemLabelPosition position)
      Sets the default positive item label position.
      Parameters:
      position - the position (null not permitted).
      See Also:
    • setDefaultPositiveItemLabelPosition

      public void setDefaultPositiveItemLabelPosition(ItemLabelPosition position, boolean notify)
      Sets the default positive item label position and, if requested, sends a RendererChangeEvent to all registered listeners.
      Parameters:
      position - the position (null not permitted).
      notify - notify registered listeners?
      See Also:
    • getNegativeItemLabelPosition

      public ItemLabelPosition getNegativeItemLabelPosition(int row, int column)
      Returns the item label position for negative values. This method can be overridden to provide customisation of the item label position for individual data items.
      Parameters:
      row - the row (or series) index (zero-based).
      column - the column (or category) index (zero-based).
      Returns:
      The item label position (never null).
      See Also:
    • getSeriesNegativeItemLabelPosition

      public ItemLabelPosition getSeriesNegativeItemLabelPosition(int series)
      Returns the item label position for all negative values in a series.
      Parameters:
      series - the series index (zero-based).
      Returns:
      The item label position (never null).
      See Also:
    • setSeriesNegativeItemLabelPosition

      public void setSeriesNegativeItemLabelPosition(int series, ItemLabelPosition position)
      Sets the item label position for negative values in a series and sends a RendererChangeEvent to all registered listeners.
      Parameters:
      series - the series index (zero-based).
      position - the position (null permitted).
      See Also:
    • setSeriesNegativeItemLabelPosition

      public void setSeriesNegativeItemLabelPosition(int series, ItemLabelPosition position, boolean notify)
      Sets the item label position for negative values in a series and (if requested) sends a RendererChangeEvent to all registered listeners.
      Parameters:
      series - the series index (zero-based).
      position - the position (null permitted).
      notify - notify registered listeners?
      See Also:
    • getDefaultNegativeItemLabelPosition

      public ItemLabelPosition getDefaultNegativeItemLabelPosition()
      Returns the base item label position for negative values.
      Returns:
      The position (never null).
      See Also:
    • setDefaultNegativeItemLabelPosition

      public void setDefaultNegativeItemLabelPosition(ItemLabelPosition position)
      Sets the default item label position for negative values and sends a RendererChangeEvent to all registered listeners.
      Parameters:
      position - the position (null not permitted).
      See Also:
    • setDefaultNegativeItemLabelPosition

      public void setDefaultNegativeItemLabelPosition(ItemLabelPosition position, boolean notify)
      Sets the default negative item label position and, if requested, sends a RendererChangeEvent to all registered listeners.
      Parameters:
      position - the position (null not permitted).
      notify - notify registered listeners?
      See Also:
    • getItemLabelAnchorOffset

      public double getItemLabelAnchorOffset()
      Deprecated.
      Returns the item label anchor offset.
      Returns:
      The offset.
      See Also:
    • setItemLabelAnchorOffset

      public void setItemLabelAnchorOffset(double offset)
      Sets the item label anchor offset.
      Parameters:
      offset - the offset.
      See Also:
    • getItemLabelInsets

      public RectangleInsets getItemLabelInsets()
      Returns the item label insets.
      Returns:
      The item label insets.
    • setItemLabelInsets

      public void setItemLabelInsets(RectangleInsets itemLabelInsets)
      Sets the item label insets.
      Parameters:
      itemLabelInsets - the insets
    • getItemCreateEntity

      public boolean getItemCreateEntity(int series, int item)
      Returns a boolean that indicates whether or not the specified item should have a chart entity created for it.
      Parameters:
      series - the series index.
      item - the item index.
      Returns:
      A boolean.
    • getSeriesCreateEntities

      public Boolean getSeriesCreateEntities(int series)
      Returns the flag that controls whether entities are created for a series.
      Parameters:
      series - the series index (zero-based).
      Returns:
      The flag (possibly null).
      See Also:
    • setSeriesCreateEntities

      public void setSeriesCreateEntities(int series, Boolean create)
      Sets the flag that controls whether entities are created for a series, and sends a RendererChangeEvent to all registered listeners.
      Parameters:
      series - the series index (zero-based).
      create - the flag (null permitted).
      See Also:
    • setSeriesCreateEntities

      public void setSeriesCreateEntities(int series, Boolean create, boolean notify)
      Sets the flag that controls whether entities are created for a series and, if requested, sends a RendererChangeEvent to all registered listeners.
      Parameters:
      series - the series index.
      create - the flag (null permitted).
      notify - notify listeners?
      See Also:
    • getDefaultCreateEntities

      public boolean getDefaultCreateEntities()
      Returns the default flag for creating entities.
      Returns:
      The default flag for creating entities.
      See Also:
    • setDefaultCreateEntities

      public void setDefaultCreateEntities(boolean create)
      Sets the default flag that controls whether entities are created for a series, and sends a RendererChangeEvent to all registered listeners.
      Parameters:
      create - the flag.
      See Also:
    • setDefaultCreateEntities

      public void setDefaultCreateEntities(boolean create, boolean notify)
      Sets the default flag that controls whether entities are created and, if requested, sends a RendererChangeEvent to all registered listeners.
      Parameters:
      create - the visibility.
      notify - notify listeners?
      See Also:
    • getDefaultEntityRadius

      public int getDefaultEntityRadius()
      Returns the radius of the circle used for the default entity area when no area is specified.
      Returns:
      A radius.
      See Also:
    • setDefaultEntityRadius

      public void setDefaultEntityRadius(int radius)
      Sets the radius of the circle used for the default entity area when no area is specified.
      Parameters:
      radius - the radius.
      See Also:
    • lookupLegendShape

      public Shape lookupLegendShape(int series)
      Performs a lookup for the legend shape.
      Parameters:
      series - the series index.
      Returns:
      The shape (possibly null).
    • getLegendShape

      public Shape getLegendShape(int series)
      Returns the legend shape defined for the specified series (possibly null).
      Parameters:
      series - the series index.
      Returns:
      The shape (possibly null).
      See Also:
    • setLegendShape

      public void setLegendShape(int series, Shape shape)
      Sets the shape used for the legend item for the specified series, and sends a RendererChangeEvent to all registered listeners.
      Parameters:
      series - the series index.
      shape - the shape (null permitted).
    • getDefaultLegendShape

      public Shape getDefaultLegendShape()
      Returns the default legend shape, which may be null.
      Returns:
      The default legend shape.
    • setDefaultLegendShape

      public void setDefaultLegendShape(Shape shape)
      Sets the default legend shape and sends a RendererChangeEvent to all registered listeners.
      Parameters:
      shape - the shape (null permitted).
    • getTreatLegendShapeAsLine

      protected boolean getTreatLegendShapeAsLine()
      Returns the flag that controls whether or not the legend shape is treated as a line when creating legend items.
      Returns:
      A boolean.
    • setTreatLegendShapeAsLine

      protected void setTreatLegendShapeAsLine(boolean treatAsLine)
      Sets the flag that controls whether or not the legend shape is treated as a line when creating legend items.
      Parameters:
      treatAsLine - the new flag value.
    • lookupLegendTextFont

      public Font lookupLegendTextFont(int series)
      Performs a lookup for the legend text font.
      Parameters:
      series - the series index.
      Returns:
      The font (possibly null).
    • getLegendTextFont

      public Font getLegendTextFont(int series)
      Returns the legend text font defined for the specified series (possibly null).
      Parameters:
      series - the series index.
      Returns:
      The font (possibly null).
      See Also:
    • setLegendTextFont

      public void setLegendTextFont(int series, Font font)
      Sets the font used for the legend text for the specified series, and sends a RendererChangeEvent to all registered listeners.
      Parameters:
      series - the series index.
      font - the font (null permitted).
    • getDefaultLegendTextFont

      public Font getDefaultLegendTextFont()
      Returns the default legend text font, which may be null.
      Returns:
      The default legend text font.
    • setDefaultLegendTextFont

      public void setDefaultLegendTextFont(Font font)
      Sets the default legend text font and sends a RendererChangeEvent to all registered listeners.
      Parameters:
      font - the font (null permitted).
    • lookupLegendTextPaint

      public Paint lookupLegendTextPaint(int series)
      Performs a lookup for the legend text paint.
      Parameters:
      series - the series index.
      Returns:
      The paint (possibly null).
    • getLegendTextPaint

      public Paint getLegendTextPaint(int series)
      Returns the legend text paint defined for the specified series (possibly null).
      Parameters:
      series - the series index.
      Returns:
      The paint (possibly null).
      See Also:
    • setLegendTextPaint

      public void setLegendTextPaint(int series, Paint paint)
      Sets the paint used for the legend text for the specified series, and sends a RendererChangeEvent to all registered listeners.
      Parameters:
      series - the series index.
      paint - the paint (null permitted).
    • getDefaultLegendTextPaint

      public Paint getDefaultLegendTextPaint()
      Returns the default legend text paint, which may be null.
      Returns:
      The default legend text paint.
    • setDefaultLegendTextPaint

      public void setDefaultLegendTextPaint(Paint paint)
      Sets the default legend text paint and sends a RendererChangeEvent to all registered listeners.
      Parameters:
      paint - the paint (null permitted).
    • getDataBoundsIncludesVisibleSeriesOnly

      public boolean getDataBoundsIncludesVisibleSeriesOnly()
      Returns the flag that controls whether or not the data bounds reported by this renderer will exclude non-visible series.
      Returns:
      A boolean.
    • setDataBoundsIncludesVisibleSeriesOnly

      public void setDataBoundsIncludesVisibleSeriesOnly(boolean visibleOnly)
      Sets the flag that controls whether or not the data bounds reported by this renderer will exclude non-visible series and sends a RendererChangeEvent to all registered listeners.
      Parameters:
      visibleOnly - include only visible series.
    • calculateLabelAnchorPoint

      protected Point2D calculateLabelAnchorPoint(ItemLabelAnchor anchor, double x, double y, PlotOrientation orientation)
      Calculates the item label anchor point.
      Parameters:
      anchor - the anchor.
      x - the x coordinate.
      y - the y coordinate.
      orientation - the plot orientation.
      Returns:
      The anchor point (never null).
    • addChangeListener

      public void addChangeListener(RendererChangeListener listener)
      Registers an object to receive notification of changes to the renderer.
      Parameters:
      listener - the listener (null not permitted).
      See Also:
    • removeChangeListener

      public void removeChangeListener(RendererChangeListener listener)
      Deregisters an object so that it no longer receives notification of changes to the renderer.
      Parameters:
      listener - the object (null not permitted).
      See Also:
    • hasListener

      public boolean hasListener(EventListener listener)
      Returns true if the specified object is registered with the dataset as a listener. Most applications won't need to call this method, it exists mainly for use by unit testing code.
      Parameters:
      listener - the listener.
      Returns:
      A boolean.
    • fireChangeEvent

      protected void fireChangeEvent()
      Sends a RendererChangeEvent to all registered listeners.
    • notifyListeners

      public void notifyListeners(RendererChangeEvent event)
      Notifies all registered listeners that the renderer has been modified.
      Parameters:
      event - information about the change event.
    • equals

      public boolean equals(Object obj)
      Tests this renderer for equality with another object.
      Overrides:
      equals in class Object
      Parameters:
      obj - the object (null permitted).
      Returns:
      true or false.
    • hashCode

      public int hashCode()
      Returns a hashcode for the renderer.
      Overrides:
      hashCode in class Object
      Returns:
      The hashcode.
    • clone

      protected Object clone() throws CloneNotSupportedException
      Returns an independent copy of the renderer.
      Overrides:
      clone in class Object
      Returns:
      A clone.
      Throws:
      CloneNotSupportedException - if some component of the renderer does not support cloning.
    • writeObject

      private void writeObject(ObjectOutputStream stream) throws IOException
      Provides serialization support.
      Parameters:
      stream - the output stream.
      Throws:
      IOException - if there is an I/O error.
    • readObject

      private void readObject(ObjectInputStream stream) throws IOException, ClassNotFoundException
      Provides serialization support.
      Parameters:
      stream - the input stream.
      Throws:
      IOException - if there is an I/O error.
      ClassNotFoundException - if there is a classpath problem.