package com.ibm.nmon.chart.definition; import java.util.List; import org.jfree.data.Range; import com.ibm.nmon.data.definition.NamingMode; import com.ibm.nmon.analysis.Statistic; public final class HistogramChartDefinition extends YAxisChartDefinition { private int bins = 10; private String xAxisLabel = ""; private Range xAxisRange; private NamingMode histogramNamingMode; private final List<Statistic> markers; public HistogramChartDefinition(String shortName, String title) { super(shortName, title, false); xAxisRange = null; histogramNamingMode = NamingMode.FIELD; markers = new java.util.ArrayList<Statistic>(3); markers.add(Statistic.AVERAGE); markers.add(Statistic.MEDIAN); markers.add(Statistic.PERCENTILE_95); } public HistogramChartDefinition(HistogramChartDefinition copy, boolean copyData) { super(copy, copyData); this.bins = copy.bins; this.xAxisLabel = copy.xAxisLabel; this.xAxisRange = copy.xAxisRange; this.histogramNamingMode = copy.histogramNamingMode; this.markers = new java.util.ArrayList<Statistic>(copy.markers); } public int getBins() { return bins; } public void setBins(int bins) { this.bins = bins; } public String getXAxisLabel() { return xAxisLabel; } public void setXAxisLabel(String xAxisLabel) { if (xAxisLabel == null) { this.xAxisLabel = ""; } else { this.xAxisLabel = xAxisLabel; } } public Range getXAxisRange() { return xAxisRange; } public void setXAxisRange(Range range) { this.xAxisRange = range; } public NamingMode getHistogramNamingMode() { return histogramNamingMode; } public void setHistogramNamingMode(NamingMode histogramNamingMode) { if (histogramNamingMode == null) { this.histogramNamingMode = NamingMode.FIELD; } else { this.histogramNamingMode = histogramNamingMode; } } public int getMarkerCount() { return markers.size(); } public Iterable<Statistic> getMarkers() { return java.util.Collections.unmodifiableList(markers); } public void setMarkers(Statistic... stats) { markers.clear(); for (Statistic stat : stats) { markers.add(stat); } } }