ingo@63: package de.intevation.flys.client.shared.model; ingo@63: ingo@270: import java.util.ArrayList; ingo@270: import java.util.List; ingo@270: ingo@796: import de.intevation.flys.client.client.ui.CollectionView; ingo@796: import de.intevation.flys.client.client.ui.OutputTab; ingo@796: ingo@63: ingo@63: /** ingo@63: * The default implementation of an Output. ingo@63: * ingo@63: * @author Ingo Weinzierl ingo@63: */ ingo@63: public class DefaultOutputMode implements OutputMode { ingo@63: ingo@63: /** The name of this mode.*/ ingo@63: protected String name; ingo@63: ingo@63: /** The description of this mode.*/ ingo@63: protected String description; ingo@63: ingo@63: /** The mime-type of this mode.*/ ingo@63: protected String mimeType; ingo@63: ingo@796: /** The type that this output mode represents.*/ ingo@796: protected String type; ingo@796: ingo@270: /** The list of available facets of this export mode.*/ ingo@270: protected List facets; ingo@270: ingo@63: ingo@63: /** A convinience constructor.*/ ingo@63: public DefaultOutputMode() { ingo@270: facets = new ArrayList(); ingo@63: } ingo@63: ingo@63: ingo@63: /** ingo@63: * The default constructor. ingo@63: * ingo@63: * @param name The name of this mode. ingo@63: * @param description The description of this mode. ingo@63: * @param mimeType The mime-type of this mode. ingo@63: */ ingo@63: public DefaultOutputMode(String name, String description, String mimeType) { ingo@63: this.name = name; ingo@63: this.description = description; ingo@63: this.mimeType = mimeType; ingo@63: } ingo@63: ingo@63: ingo@270: public DefaultOutputMode( ingo@796: String name, ingo@796: String description, ingo@796: String mimeType, ingo@796: String type) ingo@796: { ingo@796: this(name, description, mimeType); ingo@796: ingo@796: this.type = type; ingo@796: } ingo@796: ingo@796: ingo@796: public DefaultOutputMode( ingo@270: String name, ingo@270: String description, ingo@270: String mimeType, ingo@270: List facets) ingo@270: { ingo@270: this(name, description, mimeType); ingo@796: this.type = ""; ingo@270: this.facets = facets; ingo@270: } ingo@270: ingo@270: ingo@63: public String getName() { ingo@63: return name; ingo@63: } ingo@63: ingo@63: ingo@63: public String getDescription() { ingo@63: return description; ingo@63: } ingo@63: ingo@63: ingo@63: public String getMimeType() { ingo@63: return mimeType; ingo@63: } ingo@270: ingo@270: ingo@796: public String getType() { ingo@796: return type; ingo@796: } ingo@796: ingo@796: ingo@270: /** ingo@270: * Adds a new facet to this export. ingo@270: * ingo@270: * @param facet The new facet. ingo@270: */ ingo@270: public void addFacet(Facet facet) { ingo@270: facets.add(facet); ingo@270: } ingo@270: ingo@270: ingo@270: /** ingo@270: * Returns the number of facets supported by this export. ingo@270: * ingo@270: * @return the number of facets. ingo@270: */ ingo@270: public int getFacetCount() { ingo@270: return facets.size(); ingo@270: } ingo@270: ingo@270: ingo@270: /** ingo@270: * Returns the facet at a given position. ingo@270: * ingo@270: * @param idx The position of a facet. ingo@270: * ingo@270: * @return a facet. ingo@270: */ ingo@270: public Facet getFacet(int idx) { ingo@270: if (idx < getFacetCount()) { ingo@270: return facets.get(idx); ingo@270: } ingo@270: ingo@270: return null; ingo@270: } ingo@270: ingo@270: ingo@270: public Facet getFacet(String name) { ingo@270: for (Facet facet: facets) { ingo@270: if (name.equals(facet.getName())) { ingo@270: return facet; ingo@270: } ingo@270: } ingo@270: ingo@270: return null; ingo@270: } ingo@275: ingo@275: ingo@275: public List getFacets() { ingo@275: return facets; ingo@275: } ingo@796: ingo@796: ingo@796: public OutputTab createOutputTab(String t, Collection c, CollectionView p) { ingo@796: return null; ingo@796: } ingo@63: } ingo@63: // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 :