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 :