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:
    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
    Modifier | Constructor and Description
    --- | ---
    `protected` | `AbstractXYAnnotation()` Creates a new instance that has no tool tip or URL specified.

  - ### Method Summary

    All Methods Instance Methods Abstract Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `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.