ingo@1115: /*
ingo@1115: * Copyright (c) 2010 by Intevation GmbH
ingo@1115: *
ingo@1115: * This program is free software under the LGPL (>=v2.1)
ingo@1115: * Read the file LGPL.txt coming with the software for details
ingo@1115: * or visit http://www.gnu.org/licenses/ if it does not exist.
ingo@1115: */
ingo@1115:
tim@71: package de.intevation.gnv.artifacts.fis.product;
tim@71:
sascha@479: import de.intevation.gnv.state.InputData;
sascha@479:
tim@75: import java.io.Serializable;
sascha@479:
tim@71: import java.util.Collection;
tim@71:
tim@71: /**
ingo@792: * This is the interface description of Product
. Currently, there
ingo@792: * are three methods defined:
ingo@792: *
ingo@792: * - getName(): retrieves the name of the
Product
ingo@792: * - getParameter(): retrieves a collection of required parameters.
ingo@792: * - getArtifactFactory(): retrieves the factory used to create this artifact.
ingo@792: *
ingo@792: *
sascha@780: * @author Tim Englich
tim@71: */
tim@171: public interface Product extends Serializable {
tim@71:
ingo@792: /**
ingo@792: *
ingo@792: * @return The name of this product.
ingo@792: */
tim@71: public String getName();
tim@171:
ingo@792: /**
ingo@792: *
ingo@792: * @return All required parameters for parameterization.
ingo@792: */
tim@71: public Collection getParameter();
tim@171:
ingo@792: /**
ingo@792: *
ingo@792: * @return The artifact factory used to create the current artifact.
ingo@792: */
ingo@478: public String getArtifactFactory();
tim@71: }
sascha@836: // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 :