/* Copyright (c) 2001 - 2007 TOPP - www.openplans.org. All rights reserved.
* This code is licensed under the GPL 2.0 license, availible at the root
* application directory.
*/
package org.vfny.geoserver.wms.responses.legend.png;
import org.vfny.geoserver.wms.GetLegendGraphicProducer;
import org.vfny.geoserver.wms.GetLegendGraphicProducerSpi;
import java.util.Map;
import java.util.Set;
import java.util.TreeSet;
/**
* WMS GetLegendGraphic image producer for the formats supported by the
* available JAI library.
*
* @author Gabriel Roldan, Axios Engineering
* @version $Id$
*/
public class PNGLegendGraphicProducerFactory implements GetLegendGraphicProducerSpi {
/**
*
*/
public PNGLegendGraphicProducerFactory() {
}
/**
* @see org.vfny.geoserver.wms.responses.GetLegendGraphicProducerSpi#getName()
*/
public String getName() {
return "Legend graphic producer factory for PNG format";
}
/**
* @see org.vfny.geoserver.wms.responses.GetLegendGraphicProducerSpi#getSupportedFormats()
*/
public Set getSupportedFormats() {
Set s = new TreeSet();
s.add("image/png");
return s;
}
/**
* @see org.vfny.geoserver.wms.responses.GetLegendGraphicProducerSpi#isAvailable()
*/
public boolean isAvailable() {
return true;
}
/**
* @see org.vfny.geoserver.wms.responses.GetLegendGraphicProducerSpi#canProduce(java.lang.String)
*/
public boolean canProduce(String mimeType) {
return mimeType.equalsIgnoreCase("image/png");
}
/**
* @see org.vfny.geoserver.wms.responses.GetLegendGraphicProducerSpi#createLegendProducer(java.lang.String)
*/
public GetLegendGraphicProducer createLegendProducer(String format)
throws IllegalArgumentException {
if (!canProduce(format)) {
throw new IllegalArgumentException(format + " not supported by this legend producer");
}
return new PNGLegendGraphicProducer();
}
/* (non-Javadoc)
* @see org.geotools.factory.Factory#getImplementationHints()
* This just returns java.util.Collections.EMPTY_MAP
*/
public Map getImplementationHints() {
return java.util.Collections.EMPTY_MAP;
}
}