ingo@1022: /* ingo@1022: * Copyright (c) 2010 by Intevation GmbH ingo@1022: * ingo@1022: * This program is free software under the LGPL (>=v2.1) ingo@1022: * Read the file LGPL.txt coming with the software for details ingo@1022: * or visit http://www.gnu.org/licenses/ if it does not exist. ingo@1022: */ ingo@1022: tim@9: package de.intevation.gnv.artifactdatabase.objects; tim@9: tim@165: import java.io.Serializable; sascha@683: tim@9: import java.util.Collection; tim@30: import java.util.Map; tim@9: tim@9: import org.w3c.dom.Node; tim@9: tim@9: /** ingo@690: * This interface describes basic methods to describe the user interface of an ingo@690: * artifact. sascha@699: * sascha@684: * @author Tim Englich tim@9: */ tim@165: public interface ArtifactDescription extends Serializable { tim@9: tim@9: /** ingo@690: * Retrieves the xml node of the current user interface. sascha@699: * tim@9: * @return the currentUI tim@9: */ tim@12: public Node getCurrentUI(); tim@9: tim@9: /** ingo@690: * Set the xml node of the current user interface. sascha@699: * ingo@690: * @param currentUI the currentUI to set tim@9: */ tim@12: public void setCurrentUI(Node currentUI); tim@9: tim@9: /** ingo@690: * Set the xml node of the possible output modes. sascha@699: * ingo@690: * @param currentOut the currentOut to set tim@9: */ tim@12: public void setCurrentOut(Node currentOut); tim@9: tim@9: /** ingo@690: * Retrieves a collection of reachable states. sascha@699: * tim@9: * @return the reachableStates tim@9: */ tim@12: public Collection getReachableStates(); tim@36: tim@9: /** ingo@690: * Set the reachable states. sascha@699: * ingo@690: * @param reachableStates the reachableStates to set tim@9: */ tim@12: public void setReachableStates(Collection reachableStates); tim@9: tim@9: /** ingo@690: * Retrieves the current state. sascha@699: * tim@9: * @return the currentState tim@9: */ tim@12: public String getCurrentState(); tim@9: tim@9: /** ingo@690: * Set the current state. sascha@699: * ingo@690: * @param currentState the currentState to set tim@9: */ tim@12: public void setCurrentState(String currentState); tim@36: tim@12: /** ingo@690: * Get a collection of input parameters. sascha@699: * tim@12: * @return the reachableStates tim@12: */ tim@12: public Collection getInputParameter(); tim@36: tim@30: /** ingo@690: * Set a collection of input parameters. sascha@699: * tim@30: * @param inputParameter tim@30: */ tim@12: public void setInputParameter(Collection inputParameter); tim@36: tim@30: /** ingo@690: * Retrieves a map of available output modes. sascha@699: * ingo@690: * @return the available output modes. tim@30: */ tim@30: public Map getOutputModes(); tim@36: tim@30: /** ingo@690: * Retrieves a collection of available output modes. ingo@690: * ingo@690: * @return the available output modes. tim@30: */ tim@30: public Collection getOutputModesAsCollection(); tim@36: tim@30: /** ingo@690: * Set the available output modes. ingo@690: * ingo@690: * @param outputModes A map that contains output modes. tim@30: */ tim@30: public void setOutputModes(Map outputModes); sascha@683: } sascha@700: // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf-8 :