tim@335: package de.intevation.gnv.state;
tim@335: 
tim@335: import java.util.Collection;
ingo@626: import java.util.List;
tim@335: 
tim@335: /**
ingo@796:  * The default implementation of <code>OutputMode</code>.
sascha@803:  *
sascha@780:  * @author <a href="mailto:tim.englich@intevation.de">Tim Englich</a>
sascha@780:  * @author <a href="mailto:ingo.weinzierl@intevation.de">Ingo Weinzierl</a>
tim@335:  */
tim@335: public class DefaultOutputMode implements OutputMode {
tim@335: 
tim@335:     /**
tim@335:      * The UID of this Class.
tim@335:      */
tim@335:     private static final long serialVersionUID = -6459085460904827056L;
tim@335:     private String name = null;
tim@335:     private String description = null;
tim@335:     private String mimeType = null;
tim@335:     private Collection<InputValue> inputParameters = null;
ingo@626:     private List<ExportMode> exportModes;
tim@335: 
tim@335:     /**
tim@335:      * Constructor
sascha@778:      *
ingo@796:      * @param name The name of the output mode.
ingo@796:      * @param description The description of this output mode.
ingo@796:      * @param mimeType The mime type used by this output mode.
ingo@796:      * @param inputParameters The input parameters required by this output mode.
ingo@796:      * @param exportModes The export modes for this output mode.
tim@335:      */
ingo@626:     public DefaultOutputMode(
ingo@626:         String name,
ingo@626:         String description,
ingo@626:         String mimeType,
ingo@626:         Collection<InputValue> inputParameters,
ingo@626:         List<ExportMode> exportModes)
ingo@626:     {
tim@335:         super();
ingo@626:         this.name            = name;
ingo@626:         this.description     = description;
ingo@626:         this.mimeType        = mimeType;
tim@335:         this.inputParameters = inputParameters;
ingo@626:         this.exportModes     = exportModes;
tim@335:     }
tim@335: 
tim@335:     /**
ingo@796:      * @return the description.
tim@335:      */
tim@335:     public String getDescription() {
tim@335:         return this.description;
tim@335:     }
tim@335: 
tim@335:     /**
ingo@796:      * @return the mime type.
tim@335:      */
tim@335:     public String getMimeType() {
tim@335:         return this.mimeType;
tim@335:     }
tim@335: 
tim@335:     /**
ingo@796:      * @return the name.
tim@335:      */
tim@335:     public String getName() {
tim@335:         return this.name;
tim@335:     }
tim@335: 
tim@335:     /**
ingo@796:      * @return this output mode as string.
tim@335:      */
tim@335:     @Override
tim@335:     public String toString() {
tim@335:         return "Name: " + this.name + " ; Description: " + this.description
tim@335:                + " ; Mime-Type: " + this.mimeType;
tim@335:     }
tim@335: 
tim@335:     /**
ingo@796:      * @return the input parameters.
tim@335:      */
tim@335:     public Collection<InputValue> getInputParameters() {
tim@335:         return this.inputParameters;
tim@335:     }
tim@335: 
ingo@796:     /**
ingo@796:      *
ingo@796:      * @return the export modes.
ingo@796:      */
ingo@626:     public List<ExportMode> getExportModes() {
ingo@626:         return exportModes;
ingo@626:     }
ingo@626: 
tim@335: }
ingo@796: // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 :