org.jfree.chart.annotations

## Class CategoryLineAnnotation

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

All Implemented Interfaces:
  java.io.Serializable, java.lang.Cloneable, Annotation, CategoryAnnotation, org.jfree.util.PublicCloneable

    public class CategoryLineAnnotation
    extends AbstractAnnotation
    implements CategoryAnnotation, java.lang.Cloneable, org.jfree.util.PublicCloneable, java.io.Serializable

A line annotation that can be placed on a `CategoryPlot`.

See Also:
  Serialized Form

### Constructor Summary

Constructors
Constructor and Description
`CategoryLineAnnotation(java.lang.Comparable category1, double value1, java.lang.Comparable category2, double value2, java.awt.Paint paint, java.awt.Stroke stroke)` Creates a new annotation that draws a line between (category1, value1) and (category2, value2).

### Method Summary

Methods
`java.lang.Object` `clone()` Returns a clone of the annotation.
`void` `draw(java.awt.Graphics2D g2, CategoryPlot plot, java.awt.geom.Rectangle2D dataArea, CategoryAxis domainAxis, ValueAxis rangeAxis)` Draws the annotation.
`boolean` `equals(java.lang.Object obj)` Tests this object for equality with another.
`java.lang.Comparable` `getCategory1()` Returns the category for the start of the line.
`java.lang.Comparable` `getCategory2()` Returns the category for the end of the line.
`java.awt.Paint` `getPaint()` Returns the paint used to draw the connecting line.
`java.awt.Stroke` `getStroke()` Returns the stroke used to draw the connecting line.
`double` `getValue1()` Returns the y-value for the start of the line.
`double` `getValue2()` Returns the y-value for the end of the line.
`int` `hashCode()` Returns a hash code for this instance.
`void` `setCategory1(java.lang.Comparable category)` Sets the category for the start of the line and sends an `AnnotationChangeEvent` to all registered listeners.
`void` `setCategory2(java.lang.Comparable category)` Sets the category for the end of the line and sends an `AnnotationChangeEvent` to all registered listeners.
`void` `setPaint(java.awt.Paint paint)` Sets the paint used to draw the connecting line and sends an `AnnotationChangeEvent` to all registered listeners.
`void` `setStroke(java.awt.Stroke stroke)` Sets the stroke used to draw the connecting line and sends an `AnnotationChangeEvent` to all registered listeners.
`void` `setValue1(double value)` Sets the y-value for the start of the line and sends an `AnnotationChangeEvent` to all registered listeners.
`void` `setValue2(double value)` Sets the y-value for the end of the line and sends an `AnnotationChangeEvent` to all registered listeners.

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

`addChangeListener, 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

#### CategoryLineAnnotation

    public CategoryLineAnnotation(java.lang.Comparable category1,
                          double value1,
                          java.lang.Comparable category2,
                          double value2,
                          java.awt.Paint paint,
                          java.awt.Stroke stroke)

Creates a new annotation that draws a line between (category1, value1) and (category2, value2).

Parameters:
  `category1` - the category (`null` not permitted).
  `value1` - the value.
  `category2` - the category (`null` not permitted).
  `value2` - the value.
  `paint` - the line color (`null` not permitted).
  `stroke` - the line stroke (`null` not permitted).

### Method Detail

#### getCategory1

    public java.lang.Comparable getCategory1()

Returns the category for the start of the line.

Returns:
  The category for the start of the line (never `null`).
See Also:
  `setCategory1(Comparable)`

#### setCategory1

    public void setCategory1(java.lang.Comparable category)

Sets the category for the start of the line and sends an `AnnotationChangeEvent` to all registered listeners.

Parameters:
  `category` - the category (`null` not permitted).
See Also:
  `getCategory1()`

#### getValue1

    public double getValue1()

Returns the y-value for the start of the line.

Returns:
  The y-value for the start of the line.
See Also:
  `setValue1(double)`

#### setValue1

    public void setValue1(double value)

Sets the y-value for the start of the line and sends an `AnnotationChangeEvent` to all registered listeners.

Parameters:
  `value` - the value.
See Also:
  `getValue1()`

#### getCategory2

    public java.lang.Comparable getCategory2()

Returns the category for the end of the line.

Returns:
  The category for the end of the line (never `null`).
See Also:
  `setCategory2(Comparable)`

#### setCategory2

    public void setCategory2(java.lang.Comparable category)

Sets the category for the end of the line and sends an `AnnotationChangeEvent` to all registered listeners.

Parameters:
  `category` - the category (`null` not permitted).
See Also:
  `getCategory2()`

#### getValue2

    public double getValue2()

Returns the y-value for the end of the line.

Returns:
  The y-value for the end of the line.
See Also:
  `setValue2(double)`

#### setValue2

    public void setValue2(double value)

Sets the y-value for the end of the line and sends an `AnnotationChangeEvent` to all registered listeners.

Parameters:
  `value` - the value.
See Also:
  `getValue2()`

#### getPaint

    public java.awt.Paint getPaint()

Returns the paint used to draw the connecting line.

Returns:
  The paint (never `null`).
See Also:
  `setPaint(Paint)`

#### setPaint

    public void setPaint(java.awt.Paint paint)

Sets the paint used to draw the connecting line and sends an `AnnotationChangeEvent` to all registered listeners.

Parameters:
  `paint` - the paint (`null` not permitted).
See Also:
  `getPaint()`

#### getStroke

    public java.awt.Stroke getStroke()

Returns the stroke used to draw the connecting line.

Returns:
  The stroke (never `null`).
See Also:
  `setStroke(Stroke)`

#### setStroke

    public void setStroke(java.awt.Stroke stroke)

Sets the stroke used to draw the connecting line and sends an `AnnotationChangeEvent` to all registered listeners.

Parameters:
  `stroke` - the stroke (`null` not permitted).
See Also:
  `getStroke()`

#### draw

    public void draw(java.awt.Graphics2D g2,
            CategoryPlot plot,
            java.awt.geom.Rectangle2D dataArea,
            CategoryAxis domainAxis,
            ValueAxis rangeAxis)

Draws the annotation.

Specified by:
  `draw` in interface `CategoryAnnotation`
Parameters:
  `g2` - the graphics device.
  `plot` - the plot.
  `dataArea` - the data area.
  `domainAxis` - the domain axis.
  `rangeAxis` - the range axis.

#### equals

    public boolean equals(java.lang.Object obj)

Tests this object for equality with another.

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

#### hashCode

    public int hashCode()

Returns a hash code for this instance.

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

#### clone

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

Returns a clone of the annotation.

Specified by:
  `clone` in interface `org.jfree.util.PublicCloneable`
Overrides:
  `clone` in class `AbstractAnnotation`
Returns:
  A clone.
Throws:
  `java.lang.CloneNotSupportedException` - this class will not throw this exception, but subclasses (if any) might.