diff flys-client/src/main/java/de/intevation/flys/client/shared/model/DefaultOutputMode.java @ 270:d01b0d81b92a

Parse the facets of a Collection and distinguish between an ordinary OutputMode and an ExportMode (new). flys-client/trunk@1895 c6561f87-3c4e-4783-a992-168aeb5c3f6f
author Ingo Weinzierl <ingo.weinzierl@intevation.de>
date Wed, 11 May 2011 09:11:40 +0000
parents c8e651530f34
children 8264b02091ef
line wrap: on
line diff
--- a/flys-client/src/main/java/de/intevation/flys/client/shared/model/DefaultOutputMode.java	Wed May 11 07:32:08 2011 +0000
+++ b/flys-client/src/main/java/de/intevation/flys/client/shared/model/DefaultOutputMode.java	Wed May 11 09:11:40 2011 +0000
@@ -1,5 +1,8 @@
 package de.intevation.flys.client.shared.model;
 
+import java.util.ArrayList;
+import java.util.List;
+
 
 /**
  * The default implementation of an Output.
@@ -17,9 +20,13 @@
     /** The mime-type of this mode.*/
     protected String mimeType;
 
+    /** The list of available facets of this export mode.*/
+    protected List<Facet> facets;
+
 
     /** A convinience constructor.*/
     public DefaultOutputMode() {
+        facets = new ArrayList<Facet>();
     }
 
 
@@ -37,6 +44,17 @@
     }
 
 
+    public DefaultOutputMode(
+        String name,
+        String description,
+        String mimeType,
+        List<Facet> facets)
+    {
+        this(name, description, mimeType);
+        this.facets = facets;
+    }
+
+
     public String getName() {
         return name;
     }
@@ -50,5 +68,52 @@
     public String getMimeType() {
         return mimeType;
     }
+
+
+    /**
+     * Adds a new facet to this export.
+     *
+     * @param facet The new facet.
+     */
+    public void addFacet(Facet facet) {
+        facets.add(facet);
+    }
+
+
+    /**
+     * Returns the number of facets supported by this export.
+     *
+     * @return the number of facets.
+     */
+    public int getFacetCount() {
+        return facets.size();
+    }
+
+
+    /**
+     * Returns the facet at a given position.
+     *
+     * @param idx The position of a facet.
+     *
+     * @return a facet.
+     */
+    public Facet getFacet(int idx) {
+        if (idx < getFacetCount()) {
+            return facets.get(idx);
+        }
+
+        return null;
+    }
+
+
+    public Facet getFacet(String name) {
+        for (Facet facet: facets) {
+            if (name.equals(facet.getName())) {
+                return facet;
+            }
+        }
+
+        return null;
+    }
 }
 // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 :

http://dive4elements.wald.intevation.org