package org.jfree.chart.plot;
import java.util.Iterator;
import java.util.LinkedHashMap;
import java.util.Map;
import org.jfree.chart.LegendItem;
import org.jfree.chart.LegendItemCollection;
import org.jfree.chart.axis.ValueAxis;
@SuppressWarnings("unchecked")
public class CombinedRangeCategoryPlotEx extends CombinedRangeCategoryPlot {
public CombinedRangeCategoryPlotEx(ValueAxis rangeAxis) {
super(rangeAxis);
}
/**
* Returns a collection of legend items for the plot.
*
* @return The legend items.
*/
public LegendItemCollection getLegendItems() {
LegendItemCollection result = getFixedLegendItems();
if (result == null) {
result = new LegendItemCollection();
if (this.getSubplots() != null) {
Map itemMap = new LinkedHashMap();
Iterator iterator = this.getSubplots().iterator();
while (iterator.hasNext()) {
CategoryPlot plot = (CategoryPlot) iterator.next();
LegendItemCollection more = plot.getLegendItems();
for (int i = 0; i < more.getItemCount(); i++) {
itemMap.put(more.get(i).getLabel(), more.get(i));
}
}
Iterator iter = itemMap.values().iterator();
while (iter.hasNext()) {
result.add((LegendItem)iter.next());
}
}
}
return result;
}
}