org.jfree.chart.plot

## Class AbstractPieLabelDistributor

- java.lang.Object
- - org.jfree.chart.plot.AbstractPieLabelDistributor

All Implemented Interfaces:
  java.io.Serializable

Direct Known Subclasses:
  PieLabelDistributor

    public abstract class AbstractPieLabelDistributor
    extends java.lang.Object
    implements java.io.Serializable

A base class for handling the distribution of pie section labels. Create your own subclass and set it using the `PiePlot.setLabelDistributor(AbstractPieLabelDistributor)` method if you want to customise the label distribution.

See Also:
  Serialized Form

### Field Summary

Fields
`protected java.util.List` `labels` The label records.

### Constructor Summary

Constructors
Constructor and Description
`AbstractPieLabelDistributor()` Creates a new instance.

### Method Summary

Methods
`void` `addPieLabelRecord(PieLabelRecord record)` Adds a label record.
`void` `clear()` Clears the list of labels.
`abstract void` `distributeLabels(double minY, double height)` Called by the `PiePlot` class.
`int` `getItemCount()` Returns the number of items in the list.
`PieLabelRecord` `getPieLabelRecord(int index)` Returns a label record from the list.

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

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

### Field Detail

#### labels

    protected java.util.List labels

The label records.

### Constructor Detail

#### AbstractPieLabelDistributor

    public AbstractPieLabelDistributor()

Creates a new instance.

### Method Detail

#### getPieLabelRecord

    public PieLabelRecord getPieLabelRecord(int index)

Returns a label record from the list.

Parameters:
  `index` - the index.
Returns:
  The label record.

#### addPieLabelRecord

    public void addPieLabelRecord(PieLabelRecord record)

Adds a label record.

Parameters:
  `record` - the label record (`null` not permitted).

#### getItemCount

    public int getItemCount()

Returns the number of items in the list.

Returns:
  The item count.

#### clear

    public void clear()

Clears the list of labels.

#### distributeLabels

    public abstract void distributeLabels(double minY,
                        double height)

Called by the `PiePlot` class. Implementations should distribute the labels in this.labels then return.

Parameters:
  `minY` - the y-coordinate for the top of the label area.
  `height` - the height of the label area.