tim@335: package de.intevation.gnv.state;
tim@335: 
tim@335: import java.io.Serializable;
tim@335: 
tim@335: /**
ingo@796:  * This interface defines the basic methods used to store multiple values with
ingo@796:  * a specific key and name.
sascha@803:  *
sascha@780:  * @author <a href="mailto:tim.englich@intevation.de">Tim Englich</a>
sascha@778:  *
tim@335:  */
tim@335: public interface InputData extends Serializable {
tim@335: 
ingo@796:     /**
ingo@796:      * Method to Retrieve the name of this input data item.
ingo@796:      *
ingo@796:      * @return the name
ingo@796:      */
tim@335:     public String getName();
tim@335: 
ingo@796:     /**
ingo@796:      * Method to retrieve the value of this input data item. A value might be a
ingo@796:      * list of values separated by a specific character.
ingo@796:      *
ingo@796:      * @return the value
ingo@796:      */
tim@335:     public String getValue();
tim@335: 
ingo@796:     /**
ingo@796:      * Method to store a further object at this input data item.
ingo@796:      *
ingo@796:      * @param o A further object.
ingo@796:      */
ingo@607:     public void setObject(Object o);
ingo@607: 
ingo@796:     /**
ingo@796:      * Method to retrieve the extra object.
ingo@796:      *
ingo@796:      * @return the extra object.
ingo@796:      */
ingo@607:     public Object getObject();
ingo@607: 
ingo@796:     /**
ingo@796:      * Method to store descriptions for this input data item.
ingo@796:      *
ingo@796:      * @param description Array of descriptions.
ingo@796:      */
ingo@615:     public void setDescription(String[] description);
ingo@607: 
ingo@796:     /**
ingo@796:      * Method to retrieve a description specified by a given key.
ingo@796:      *
ingo@796:      * @param key Key.
ingo@796:      * @return the description for this key.
ingo@796:      */
ingo@634:     public String getDescription(String key);
ingo@634: 
ingo@796:     /**
ingo@796:      * Method to retrieve all descriptions of this input data item.
ingo@796:      *
ingo@796:      * @return descriptions.
ingo@796:      */
ingo@615:     public String[] getDescription();
ingo@607: 
ingo@796:     /**
ingo@796:      * Append a further string value to the value field devided by a separater
ingo@796:      * character.
ingo@796:      *
ingo@796:      * @param value Value to append.
ingo@796:      */
tim@335:     public void concartValue(String value);
sascha@778: 
ingo@796:     /**
ingo@796:      * Method to retrieve the character separated values split into an array.
ingo@796:      *
ingo@796:      * @return
ingo@796:      */
tim@598:     String[] splitValue();
tim@335: }
ingo@796: // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf-8 :