ingo@1022: /*
ingo@1022: * Copyright (c) 2010 by Intevation GmbH
ingo@1022: *
ingo@1022: * This program is free software under the LGPL (>=v2.1)
ingo@1022: * Read the file LGPL.txt coming with the software for details
ingo@1022: * or visit http://www.gnu.org/licenses/ if it does not exist.
ingo@1022: */
ingo@1022:
tim@30: package de.intevation.gnv.artifactdatabase.objects;
tim@30:
tim@165: import java.io.Serializable;
sascha@683:
tim@30: import java.util.Collection;
tim@30:
tim@30: /**
ingo@690: * OutputMode
objects give information possible types of exports
ingo@690: * for an artifact (e.g. chart, histogram, csv, odv, statistic).
sascha@699: *
sascha@684: * @author Tim Englich
sascha@681: *
tim@30: */
tim@165: public interface OutputMode extends Serializable{
tim@36:
ingo@690: /**
ingo@690: * Retrieve the name of an output mode.
ingo@690: *
ingo@690: * @return the name.
ingo@690: */
tim@30: public String getName();
tim@36:
ingo@690: /**
ingo@690: * Retrieve the mimetype of an output mode.
ingo@690: *
ingo@690: * @return the mimetype.
ingo@690: */
tim@30: public String getMimeType();
tim@36:
ingo@690: /**
ingo@690: * Retrieve the output parameters available to adjust the output.
ingo@690: *
ingo@690: * @return the output parameters.
ingo@690: */
tim@36: public Collection getOutputParameters();
tim@30:
ingo@690: /**
ingo@690: * Retrieve possible export modes which describe specific output modes
ingo@690: * (e.g. pdf, svg, image).
ingo@690: *
ingo@690: * @param mode The export mode's name.
ingo@690: * @return the export mode.
ingo@690: */
ingo@573: public ExportMode getExportMode(String mode);
tim@30: }
sascha@700: // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 :