diff gnv-artifacts/src/main/java/de/intevation/gnv/artifacts/GNVProductArtifactFactory.java @ 789:0dc115cbef0d

Added javadoc for artifact package. gnv-artifacts/trunk@871 c6561f87-3c4e-4783-a992-168aeb5c3f6f
author Ingo Weinzierl <ingo.weinzierl@intevation.de>
date Wed, 31 Mar 2010 09:09:05 +0000
parents c4156275c1e1
children 22c18083225e
line wrap: on
line diff
--- a/gnv-artifacts/src/main/java/de/intevation/gnv/artifacts/GNVProductArtifactFactory.java	Wed Mar 31 08:01:56 2010 +0000
+++ b/gnv-artifacts/src/main/java/de/intevation/gnv/artifacts/GNVProductArtifactFactory.java	Wed Mar 31 09:09:05 2010 +0000
@@ -27,21 +27,43 @@
 import org.w3c.dom.NodeList;
 
 /**
+ * This factory is called to create a {@link
+ * de.intevation.gnv.artifacts.fis.SelectProductArtifact} which lets the user
+ * select a product supported by the selected fis.
+ *
  * @author <a href="mailto:ingo.weinzierl@intevation.de">Ingo Weinzierl</a>
  */
 public class GNVProductArtifactFactory extends DefaultArtifactFactory {
 
+    /**
+     *
+     */
     public static final String XPATH_REPLACE_NAME = "IDENTIFIER";
 
+    /**
+     *
+     */
     public static final String XPATH_PRODUCT_ARTIFACT =
         "artifact-database/artifacts/artifact[@name='"+XPATH_REPLACE_NAME+"']";
 
+    /**
+     *
+     */
     public static final String XPATH_PRODUCT = "products/product";
 
+    /**
+     *
+     */
     public static final String XPATH_PRODUCT_NAME = "@name";
 
+    /**
+     *
+     */
     public static final String XPATH_PRODUCT_FACTORY = "artifact-factory";
 
+    /**
+     *
+     */
     public static final String XPATH_PRODUCT_PARAMETER = "parameters/parameter";
 
     private Logger logger = Logger.getLogger(GNVProductArtifactFactory.class);
@@ -50,9 +72,21 @@
     private Map products;
 
 
+    /**
+     * Constructor.
+     */
     public GNVProductArtifactFactory() {
     }
 
+    /**
+     * Method to create an artifact. If the created artifact is from type
+     * <code>ProxyArtifact</code>, a further ProductSelectArtifact is created
+     * which becomes embedded into the <code>ProxyArtifact</code>.
+     * @param identifier UUID.
+     * @param context CallContext.
+     * @param data Some data.
+     * @return The created artifact.
+     */
     @Override
     public Artifact createArtifact(String identifier, Object context, Document data) {
 
@@ -71,6 +105,11 @@
         return artifact;
     }
 
+    /**
+     *
+     * @param document
+     * @param factoryNode
+     */
     @Override
     public void setup(Document document, Node factoryNode) {
         super.setup(document, factoryNode);
@@ -98,11 +137,21 @@
     }
 
 
+    /**
+     *
+     * @param name
+     * @return
+     */
     public ArtifactFactory getArtifactFactoryByName(String name) {
         return (ArtifactFactory) productFactories.get(name);
     }
 
 
+    /**
+     *
+     * @param document
+     * @param products
+     */
     protected void parseProductFactories(Document document, NodeList products) {
         int items = products.getLength();
 
@@ -144,6 +193,10 @@
     }
 
 
+    /**
+     * Initialize all products supported by the current fis.
+     * @param productNode
+     */
     protected void initializeProducts(Node productNode) {
         String productName = (String) XMLUtils.xpath(
             productNode, "@name", XPathConstants.STRING);
@@ -173,3 +226,4 @@
         }
     }
 }
+// vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 :
\ No newline at end of file

http://dive4elements.wald.intevation.org