Merge branch 'develop' into features/mchmmer
[jalview.git] / src / jalview / ws / params / simple / StringParameter.java
1 package jalview.ws.params.simple;
2
3 import jalview.ws.params.ParameterI;
4 import jalview.ws.params.ValueConstrainI;
5
6 import java.util.Collection;
7
8 public class StringParameter extends Option implements ParameterI
9 {
10   @Override
11   public ValueConstrainI getValidValue()
12   {
13     return new StringValueConstrain();
14   }
15
16   @Override
17   public ParameterI copy()
18   {
19     return new StringParameter(this);
20   }
21
22   private class StringValueConstrain implements ValueConstrainI
23   {
24
25     @Override
26     public ValueType getType()
27     {
28       return ValueType.String;
29     }
30
31     @Override
32     public Number getMax()
33     {
34       return null;
35     }
36
37     @Override
38     public Number getMin()
39     {
40       return null;
41     }
42
43   }
44
45   public StringParameter(StringParameter parm)
46   {
47     this.name = parm.name;
48     this.defvalue = parm.defvalue;
49   }
50
51   public StringParameter(String name, String description, boolean required,
52           String defValue)
53   {
54     super(name, description, required, String.valueOf(defValue), null, null,
55             null);
56     this.defvalue = defValue;
57   }
58
59   public StringParameter(String name, String description, boolean required,
60           String defValue, String value)
61   {
62     super(name, description, required, String.valueOf(defValue),
63             String.valueOf(value), null, null);
64     this.defvalue = defValue;
65   }
66
67   /**
68    * Constructor for a parameter with a list of possible values
69    * 
70    * @param name2
71    * @param description2
72    * @param isrequired
73    * @param defValue
74    * @param value
75    * @param possibleVals
76    */
77   public StringParameter(String name2, String description2,
78           boolean isrequired, String defValue, String value,
79           Collection<String> possibleVals)
80   {
81     super(name2, description2, isrequired, defValue, value, possibleVals,
82             null);
83   }
84 }