org.jfree.chart.labels

## Class AbstractCategoryItemLabelGenerator

- java.lang.Object
- - org.jfree.chart.labels.AbstractCategoryItemLabelGenerator

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

Direct Known Subclasses:
  StandardCategoryItemLabelGenerator, StandardCategoryToolTipGenerator

    public abstract class AbstractCategoryItemLabelGenerator
    extends java.lang.Object
    implements org.jfree.util.PublicCloneable, java.lang.Cloneable, java.io.Serializable

A base class that can be used to create a label or tooltip generator that can be assigned to a `CategoryItemRenderer`.

See Also:
  Serialized Form

### Constructor Summary

Constructors
`protected` `AbstractCategoryItemLabelGenerator(java.lang.String labelFormat, java.text.DateFormat formatter)` Creates a label generator with the specified date formatter.
`protected` `AbstractCategoryItemLabelGenerator(java.lang.String labelFormat, java.text.NumberFormat formatter)` Creates a label generator with the specified number formatter.
`protected` `AbstractCategoryItemLabelGenerator(java.lang.String labelFormat, java.text.NumberFormat formatter, java.text.NumberFormat percentFormatter)` Creates a label generator with the specified number formatter.

### Method Summary

Methods
`java.lang.Object` `clone()` Returns an independent copy of the generator.
`protected java.lang.Object[]` `createItemArray(CategoryDataset dataset, int row, int column)` Creates the array of items that can be passed to the `MessageFormat` class for creating labels.
`boolean` `equals(java.lang.Object obj)` Tests this object for equality with an arbitrary object.
`java.lang.String` `generateColumnLabel(CategoryDataset dataset, int column)` Generates a label for the specified row.
`protected java.lang.String` `generateLabelString(CategoryDataset dataset, int row, int column)` Generates a for the specified item.
`java.lang.String` `generateRowLabel(CategoryDataset dataset, int row)` Generates a label for the specified row.
`java.text.DateFormat` `getDateFormat()` Returns the date formatter.
`java.lang.String` `getLabelFormat()` Returns the label format string.
`java.text.NumberFormat` `getNumberFormat()` Returns the number formatter.
`int` `hashCode()` Returns a hash code for this instance.

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

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

### Constructor Detail

#### AbstractCategoryItemLabelGenerator

    protected AbstractCategoryItemLabelGenerator(java.lang.String labelFormat,
                                      java.text.NumberFormat formatter)

Creates a label generator with the specified number formatter.

Parameters:
  `labelFormat` - the label format string (`null` not permitted).
  `formatter` - the number formatter (`null` not permitted).

#### AbstractCategoryItemLabelGenerator

    protected AbstractCategoryItemLabelGenerator(java.lang.String labelFormat,
                                      java.text.NumberFormat formatter,
                                      java.text.NumberFormat percentFormatter)

Creates a label generator with the specified number formatter.

Parameters:
  `labelFormat` - the label format string (`null` not permitted).
  `formatter` - the number formatter (`null` not permitted).
  `percentFormatter` - the percent formatter (`null` not permitted).
Since:
  1.0.2

#### AbstractCategoryItemLabelGenerator

    protected AbstractCategoryItemLabelGenerator(java.lang.String labelFormat,
                                      java.text.DateFormat formatter)

Creates a label generator with the specified date formatter.

Parameters:
  `labelFormat` - the label format string (`null` not permitted).
  `formatter` - the date formatter (`null` not permitted).

### Method Detail

#### generateRowLabel

    public java.lang.String generateRowLabel(CategoryDataset dataset,
                                    int row)

Generates a label for the specified row.

Parameters:
  `dataset` - the dataset (`null` not permitted).
  `row` - the row index (zero-based).
Returns:
  The label.

#### generateColumnLabel

    public java.lang.String generateColumnLabel(CategoryDataset dataset,
                                       int column)

Generates a label for the specified row.

Parameters:
  `dataset` - the dataset (`null` not permitted).
  `column` - the column index (zero-based).
Returns:
  The label.

#### getLabelFormat

    public java.lang.String getLabelFormat()

Returns the label format string.

Returns:
  The label format string (never `null`).

#### getNumberFormat

    public java.text.NumberFormat getNumberFormat()

Returns the number formatter.

Returns:
  The number formatter (possibly `null`).

#### getDateFormat

    public java.text.DateFormat getDateFormat()

Returns the date formatter.

Returns:
  The date formatter (possibly `null`).

#### generateLabelString

    protected java.lang.String generateLabelString(CategoryDataset dataset,
                                       int row,
                                       int column)

Generates a for the specified item.

Parameters:
  `dataset` - the dataset (`null` not permitted).
  `row` - the row index (zero-based).
  `column` - the column index (zero-based).
Returns:
  The label (possibly `null`).

#### createItemArray

    protected java.lang.Object[] createItemArray(CategoryDataset dataset,
                                     int row,
                                     int column)

Creates the array of items that can be passed to the `MessageFormat` class for creating labels.

Parameters:
  `dataset` - the dataset (`null` not permitted).
  `row` - the row index (zero-based).
  `column` - the column index (zero-based).
Returns:
  The items (never `null`).

#### equals

    public boolean equals(java.lang.Object obj)

Tests this object for equality with an arbitrary object.

Overrides:
  `equals` in class `java.lang.Object`
Parameters:
  `obj` - the other 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.

#### clone

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

Returns an independent copy of the generator.

Specified by:
  `clone` in interface `org.jfree.util.PublicCloneable`
Overrides:
  `clone` in class `java.lang.Object`
Returns:
  A clone.
Throws:
  `java.lang.CloneNotSupportedException` - should not happen.