ingo@8: package de.intevation.flys.client.shared.model; ingo@8: ingo@12: import java.io.Serializable; ingo@12: ingo@12: ingo@8: /** ingo@8: * The artifact description describes a state of an artifact. There are ingo@8: * operations defined that return former inserted data, possible input values ingo@8: * and output targets that are available in the current state of the artifact. ingo@8: * ingo@8: * @author Ingo Weinzierl ingo@8: */ ingo@12: public interface ArtifactDescription extends Serializable { ingo@8: ingo@8: /** ingo@8: * Returns the data that have been inserted in former states of the ingo@8: * artifact. ingo@8: * ingo@8: * @return the old data of former states. ingo@8: */ ingo@51: public DataList[] getOldData(); ingo@8: ingo@8: ingo@8: /** ingo@8: * Returns the data with all its options that might be inserted in the ingo@8: * current state of the artifact. ingo@8: * ingo@8: * @return the current data. ingo@8: */ ingo@51: public DataList getCurrentData(); ingo@8: ingo@8: ingo@8: /** ingo@8: * Returns the current state as string. ingo@8: * ingo@8: * @return the current state. ingo@8: */ ingo@8: public String getCurrentState(); ingo@8: ingo@8: ingo@8: /** ingo@8: * Returns the reachable states as string. ingo@8: * ingo@8: * @return the reachable states. ingo@8: */ ingo@8: public String[] getReachableStates(); ingo@64: ingo@64: ingo@64: /** ingo@1279: * Returns the name of the selected river. ingo@1279: * ingo@1279: * @return the selected river. ingo@1279: */ ingo@1279: public String getRiver(); ingo@1279: ingo@1279: ingo@1279: /** ingo@1279: * Returns the selected min and max kilomter if existing otherwise null. ingo@1279: * ingo@1279: * @return an array of [min-km, max-km] if existing otherwise null. ingo@1279: */ ingo@1279: public double[] getKMRange(); ingo@1279: ingo@1279: ingo@1279: /** ingo@64: * Returns the available output modes. sascha@615: * ingo@64: * @return the available output modes. ingo@64: */ ingo@64: public OutputMode[] getOutputModes(); ingo@803: ingo@803: ingo@803: /** ingo@803: * Returns the recommended artifacts suggested by the server. ingo@803: * ingo@803: * @return the recommended artifacts. ingo@803: */ ingo@807: public Recommendation[] getRecommendations(); ingo@8: } ingo@8: // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 :