Merge branch 'spike/JAL-1950_hmmer3client' into features/mchmmer_merge_JAL-1950
[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.List;
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     this.possibleVals = parm.possibleVals;
50     this.displayVals = parm.displayVals;
51   }
52
53   public StringParameter(String name, String description, boolean required,
54           String defValue)
55   {
56     super(name, description, required, String.valueOf(defValue), null, null,
57             null);
58     this.defvalue = defValue;
59   }
60
61   public StringParameter(String name, String description, boolean required,
62           String defValue, String value)
63   {
64     super(name, description, required, String.valueOf(defValue),
65             String.valueOf(value), null, null);
66     this.defvalue = defValue;
67   }
68
69   /**
70    * Constructor for a parameter with a list of possible values and (optionally)
71    * corresponding display names
72    * 
73    * @param name2
74    * @param description2
75    * @param isrequired
76    * @param defValue
77    * @param value
78    * @param possibleVals
79    * @param displayNames
80    */
81   public StringParameter(String name2, String description2,
82           boolean isrequired, String defValue, String value,
83           List<String> possibleVals, List<String> displayNames)
84   {
85     super(name2, description2, isrequired, defValue, value, possibleVals,
86             displayNames, null);
87   }
88 }