tim@335: package de.intevation.gnv.state;
tim@335: 
tim@335: import java.io.Serializable;
tim@335: 
tim@335: /**
ingo@796:  * This interface defines some basic methods to retrieve information about the
ingo@796:  * type of an user input.
sascha@803:  *
sascha@780:  * @author <a href="mailto:tim.englich@intevation.de">Tim Englich</a>
sascha@778:  *
tim@335:  */
tim@335: public interface InputValue extends Serializable {
tim@335: 
ingo@796:     /**
ingo@796:      * Retrieve the name of the inserted data.
ingo@796:      *
ingo@796:      * @return the input data name.
ingo@796:      */
tim@335:     public String getName();
tim@335: 
ingo@796:     /**
ingo@796:      * Retrieve the type of the input.
ingo@796:      *
ingo@796:      * @return the input data type.
ingo@796:      */
tim@335:     public String getType();
tim@335: 
ingo@796:     /**
ingo@796:      * Retrieve the default value used when no input is done.
ingo@796:      *
ingo@796:      * @return the input data default value.
ingo@796:      */
tim@335:     public String getDefaultValue();
tim@335: 
ingo@796:     /**
ingo@796:      * Retrieve information about mutliselect fields.
ingo@796:      *
ingo@796:      * @return true, if the input data is a multiselect, otherwise false.
ingo@796:      */
tim@335:     public boolean isMultiselect();
tim@335: 
ingo@796:     /**
ingo@796:      * Retrieve information about the occurance of this input in an sql
ingo@796:      * statement.
ingo@796:      *
ingo@796:      * @return the number of times, this data is used in a sql query.
ingo@796:      */
tim@335:     public int usedInQueries();
tim@335: }
ingo@796: // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 :