org.jfree.chart.annotations

## Class AbstractXYAnnotation

- java.lang.Object
- - org.jfree.chart.annotations.AbstractAnnotation
  - - org.jfree.chart.annotations.AbstractXYAnnotation

All Implemented Interfaces:
  java.io.Serializable, java.lang.Cloneable, Annotation, XYAnnotation

Direct Known Subclasses:
  XYBoxAnnotation, XYDataImageAnnotation, XYDrawableAnnotation, XYImageAnnotation, XYLineAnnotation, XYPolygonAnnotation, XYShapeAnnotation, XYTextAnnotation, XYTitleAnnotation

    public abstract class AbstractXYAnnotation
    extends AbstractAnnotation
    implements XYAnnotation

The interface that must be supported by annotations that are to be added to an `XYPlot`.

See Also:
  Serialized Form

### Constructor Summary

Constructors
`protected` `AbstractXYAnnotation()` Creates a new instance that has no tool tip or URL specified.

### Method Summary

Methods
`protected void` `addEntity(PlotRenderingInfo info, java.awt.Shape hotspot, int rendererIndex, java.lang.String toolTipText, java.lang.String urlText)` A utility method for adding an `XYAnnotationEntity` to a `PlotRenderingInfo` instance.
`abstract void` `draw(java.awt.Graphics2D g2, XYPlot plot, java.awt.geom.Rectangle2D dataArea, ValueAxis domainAxis, ValueAxis rangeAxis, int rendererIndex, PlotRenderingInfo info)` Draws the annotation.
`boolean` `equals(java.lang.Object obj)` Tests this annotation for equality with an arbitrary object.
`java.lang.String` `getToolTipText()` Returns the tool tip text for the annotation.
`java.lang.String` `getURL()` Returns the URL for the annotation.
`int` `hashCode()` Returns a hash code for this instance.
`void` `setToolTipText(java.lang.String text)` Sets the tool tip text for the annotation.
`void` `setURL(java.lang.String url)` Sets the URL for the annotation.

### Methods inherited from class org.jfree.chart.annotations.AbstractAnnotation

`addChangeListener, clone, fireAnnotationChanged, getNotify, hasListener, notifyListeners, removeChangeListener, setNotify`

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

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

### Methods inherited from interface org.jfree.chart.annotations.Annotation

`addChangeListener, removeChangeListener`

### Constructor Detail

#### AbstractXYAnnotation

    protected AbstractXYAnnotation()

Creates a new instance that has no tool tip or URL specified.

### Method Detail

#### getToolTipText

    public java.lang.String getToolTipText()

Returns the tool tip text for the annotation. This will be displayed in a `ChartPanel` when the mouse pointer hovers over the annotation.

Returns:
  The tool tip text (possibly `null`).
See Also:
  `setToolTipText(String)`

#### setToolTipText

    public void setToolTipText(java.lang.String text)

Sets the tool tip text for the annotation.

Parameters:
  `text` - the tool tip text (`null` permitted).
See Also:
  `getToolTipText()`

#### getURL

    public java.lang.String getURL()

Returns the URL for the annotation. This URL will be used to provide hyperlinks when an HTML image map is created for the chart.

Returns:
  The URL (possibly `null`).
See Also:
  `setURL(String)`

#### setURL

    public void setURL(java.lang.String url)

Sets the URL for the annotation.

Parameters:
  `url` - the URL (`null` permitted).
See Also:
  `getURL()`

#### draw

    public abstract void draw(java.awt.Graphics2D g2,
            XYPlot plot,
            java.awt.geom.Rectangle2D dataArea,
            ValueAxis domainAxis,
            ValueAxis rangeAxis,
            int rendererIndex,
            PlotRenderingInfo info)

Draws the annotation.

Specified by:
  `draw` in interface `XYAnnotation`
Parameters:
  `g2` - the graphics device.
  `plot` - the plot.
  `dataArea` - the data area.
  `domainAxis` - the domain axis.
  `rangeAxis` - the range axis.
  `rendererIndex` - the renderer index.
  `info` - if supplied, this info object will be populated with entity information.

#### addEntity

    protected void addEntity(PlotRenderingInfo info,
                 java.awt.Shape hotspot,
                 int rendererIndex,
                 java.lang.String toolTipText,
                 java.lang.String urlText)

A utility method for adding an `XYAnnotationEntity` to a `PlotRenderingInfo` instance.

Parameters:
  `info` - the plot rendering info (`null` permitted).
  `hotspot` - the hotspot area.
  `rendererIndex` - the renderer index.
  `toolTipText` - the tool tip text.
  `urlText` - the URL text.

#### equals

    public boolean equals(java.lang.Object obj)

Tests this annotation for equality with an arbitrary object.

Overrides:
  `equals` in class `java.lang.Object`
Parameters:
  `obj` - the object (`null` permitted).
Returns:
  A boolean.

#### hashCode

    public int hashCode()

Returns a hash code for this instance.

Overrides:
  `hashCode` in class `java.lang.Object`
Returns:
  A hash code.