## org.jfree.chart.labels
Class StandardPieSectionLabelGenerator

    java.lang.Object
      org.jfree.chart.labels.AbstractPieItemLabelGenerator
          org.jfree.chart.labels.StandardPieSectionLabelGenerator

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

    public class StandardPieSectionLabelGenerator

extends AbstractPieItemLabelGenerator
implements PieSectionLabelGenerator, java.lang.Cloneable, org.jfree.util.PublicCloneable, java.io.Serializable

A standard item label generator for plots that use data from a `PieDataset`.

For the label format, use {0} where the pie section key should be inserted, {1} for the absolute section value and {2} for the percent amount of the pie section, e.g. `"{0} = {1} ({2})"` will display as `apple = 120 (5%)`.

See Also:
  Serialized Form

Field Summary
`static java.lang.String` `DEFAULT_SECTION_LABEL_FORMAT` The default section label format.

Constructor Summary
`StandardPieSectionLabelGenerator()` Creates a new section label generator using `DEFAULT_SECTION_LABEL_FORMAT` as the label format string, and platform default number and percentage formatters.
`StandardPieSectionLabelGenerator(java.util.Locale locale)` Creates a new instance for the specified locale.
`StandardPieSectionLabelGenerator(java.lang.String labelFormat)` Creates a new section label generator using the specified label format string, and platform default number and percentage formatters.
`StandardPieSectionLabelGenerator(java.lang.String labelFormat, java.util.Locale locale)` Creates a new instance for the specified locale.
`StandardPieSectionLabelGenerator(java.lang.String labelFormat, java.text.NumberFormat numberFormat, java.text.NumberFormat percentFormat)` Creates an item label generator using the specified number formatters.

Method Summary
`java.lang.Object` `clone()` Returns an independent copy of the generator.
`boolean` `equals(java.lang.Object obj)` Tests the generator for equality with an arbitrary object.
`java.text.AttributedString` `generateAttributedSectionLabel(PieDataset dataset, java.lang.Comparable key)` Generates an attributed label for the specified series, or `null` if no attributed label is available (in which case, the string returned by `generateSectionLabel(PieDataset, Comparable)` will provide the fallback).
`java.lang.String` `generateSectionLabel(PieDataset dataset, java.lang.Comparable key)` Generates a label for a pie section.
`java.text.AttributedString` `getAttributedLabel(int section)` Returns the attributed label for a section, or `null` if none is defined.
`void` `setAttributedLabel(int section, java.text.AttributedString label)` Sets the attributed label for a section.

Methods inherited from class org.jfree.chart.labels.AbstractPieItemLabelGenerator
`createItemArray, getLabelFormat, getNumberFormat, getPercentFormat, hashCode`

Methods inherited from class java.lang.Object
`finalize, getClass, notify, notifyAll, toString, wait, wait, wait`

Field Detail

### DEFAULT_SECTION_LABEL_FORMAT

    public static final java.lang.String DEFAULT_SECTION_LABEL_FORMAT

  The default section label format.

  See Also:
    Constant Field Values

Constructor Detail

### StandardPieSectionLabelGenerator

    public StandardPieSectionLabelGenerator()

  Creates a new section label generator using `DEFAULT_SECTION_LABEL_FORMAT` as the label format string, and platform default number and percentage formatters.

### StandardPieSectionLabelGenerator

    public StandardPieSectionLabelGenerator(java.util.Locale locale)

  Creates a new instance for the specified locale.

  Parameters:
    `locale` - the local (`null` not permitted).
  Since:
    1.0.7

### StandardPieSectionLabelGenerator

    public StandardPieSectionLabelGenerator(java.lang.String labelFormat)

  Creates a new section label generator using the specified label format string, and platform default number and percentage formatters.

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

### StandardPieSectionLabelGenerator

    public StandardPieSectionLabelGenerator(java.lang.String labelFormat,
                                            java.util.Locale locale)

  Creates a new instance for the specified locale.

  Parameters:
    `labelFormat` - the label format (`null` not permitted).
    `locale` - the local (`null` not permitted).
  Since:
    1.0.7

### StandardPieSectionLabelGenerator

    public StandardPieSectionLabelGenerator(java.lang.String labelFormat,
                                            java.text.NumberFormat numberFormat,
                                            java.text.NumberFormat percentFormat)

  Creates an item label generator using the specified number formatters.

  Parameters:
    `labelFormat` - the label format string (`null` not permitted).
    `numberFormat` - the format object for the values (`null` not permitted).
    `percentFormat` - the format object for the percentages (`null` not permitted).

Method Detail

### getAttributedLabel

    public java.text.AttributedString getAttributedLabel(int section)

  Returns the attributed label for a section, or `null` if none is defined.

  Parameters:
    `section` - the section index.
  Returns:
    The attributed label.

### setAttributedLabel

    public void setAttributedLabel(int section,
                                   java.text.AttributedString label)

  Sets the attributed label for a section.

  Parameters:
    `section` - the section index.
    `label` - the label (`null` permitted).

### generateSectionLabel

    public java.lang.String generateSectionLabel(PieDataset dataset,
                                                 java.lang.Comparable key)

  Generates a label for a pie section.

  Specified by:
    `generateSectionLabel` in interface `PieSectionLabelGenerator`
  Overrides:
    `generateSectionLabel` in class `AbstractPieItemLabelGenerator`
  Parameters:
    `dataset` - the dataset (`null` not permitted).
    `key` - the section key (`null` not permitted).
  Returns:
    The label (possibly `null`).

### generateAttributedSectionLabel

    public java.text.AttributedString generateAttributedSectionLabel(PieDataset dataset,
                                                                     java.lang.Comparable key)

  Generates an attributed label for the specified series, or `null` if no attributed label is available (in which case, the string returned by `generateSectionLabel(PieDataset, Comparable)` will provide the fallback). Only certain attributes are recognised by the code that ultimately displays the labels:
  - `TextAttribute.FONT`: will set the font;
  - `TextAttribute.POSTURE`: a value of `TextAttribute.POSTURE_OBLIQUE` will add `Font.ITALIC` to the current font;
  - `TextAttribute.WEIGHT`: a value of `TextAttribute.WEIGHT_BOLD` will add `Font.BOLD` to the current font;
  - `TextAttribute.FOREGROUND`: this will set the `Paint` for the current
  - `TextAttribute.SUPERSCRIPT`: the values `TextAttribute.SUPERSCRIPT_SUB` and `TextAttribute.SUPERSCRIPT_SUPER` are recognised.

  Specified by:
    `generateAttributedSectionLabel` in interface `PieSectionLabelGenerator`
  Parameters:
    `dataset` - the dataset (`null` not permitted).
    `key` - the key.
  Returns:
    An attributed label (possibly `null`).

### equals

    public boolean equals(java.lang.Object obj)

  Tests the generator for equality with an arbitrary object.

  Overrides:
    `equals` in class `AbstractPieItemLabelGenerator`
  Parameters:
    `obj` - the object to test against (`null` permitted).
  Returns:
    A boolean.

### 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 `AbstractPieItemLabelGenerator`
  Returns:
    A clone.
  Throws:
    `java.lang.CloneNotSupportedException` - should not happen.