## org.jfree.chart.annotations
Class AbstractXYAnnotation

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

All Implemented Interfaces:
  XYAnnotation

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

    public abstract class AbstractXYAnnotation

extends java.lang.Object
implements XYAnnotation

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

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

Method Summary
`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 java.lang.Object
`clone, finalize, getClass, notify, notifyAll, toString, wait, wait, wait`

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.