Mercurial > dive4elements > gnv-client
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