package fr.openwide.core.wicket.more.jqplot.config;
import java.util.Locale;
import java.util.Map;
import org.apache.wicket.model.IDetachable;
import fr.openwide.core.wicket.more.jqplot.component.JQPlotPanel;
import nl.topicus.wqplot.options.PlotOptions;
import nl.topicus.wqplot.options.PlotSeries;
import nl.topicus.wqplot.options.PlotTick;
/**
* An interface for objects that customize a {@link JQPlotPanel}'s {@link PlotOptions options}.
*
* @see JQPlotPanel
* @see JQPlotPanel#add(IJQPlotConfigurer, IJQPlotConfigurer...)
* @see PlotOptions
*
* @param <S> The type for series on the configured {@link JQPlotPanel}
* @param <K> The type for keys (generally the X axis) on the configured {@link JQPlotPanel}
*/
public interface IJQPlotConfigurer<S, K> extends IDetachable {
/**
* Configure options.
*
* <p>This method is called each time a panel this configurer has been added to is about to be rendered.
*/
void configure(PlotOptions options, Map<? extends S, PlotSeries> seriesMap,
Map<? extends K, PlotTick> keysMap, Locale locale);
}