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: *
  1. getName(): retrieves the name of the Product
  2. ingo@792: *
  3. getParameter(): retrieves a collection of required parameters.
  4. ingo@792: *
  5. getArtifactFactory(): retrieves the factory used to create this artifact. ingo@792: *
  6. 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 :