class StandardCategoryURLGenerator implements CategoryURLGenerator,
        Serializable {

    @Override
    public String generateURL(CategoryDataset dataset, int series,
            int category) {
        String url = this.prefix;
        Comparable seriesKey = dataset.getRowKey(series);
        Comparable categoryKey = dataset.getColumnKey(category);
        boolean firstParameter = !url.contains("?");
        url += firstParameter ? "?" : "&amp;";
        try {
            url += this.seriesParamName + "=" + URLEncoder.encode(
                    seriesKey.toString(), "UTF-8");
            url += "&amp;" + this.categoryParamName + "="
                    + URLEncoder.encode(categoryKey.toString(), "UTF-8");
        } catch (UnsupportedEncodingException ex) { // will not happen :)
            throw new RuntimeException(ex);
        }
        return url;
    }

    public  StandardCategoryURLGenerator();
    public  StandardCategoryURLGenerator(String prefix);
    public  StandardCategoryURLGenerator(String prefix, 
            String seriesParamName, String categoryParamName);

}