6b76170f6b7d9b01e6a553811af79498be7cccf3
[jalview.git] / src / jalview / ws / params / simple / DoubleParameter.java
1 package jalview.ws.params.simple;
2
3 import jalview.ws.params.ParameterI;
4 import jalview.ws.params.ValueConstrainI;
5
6 /**
7  * 
8  * @author TZVanaalten
9  *
10  */
11 public class DoubleParameter extends Option implements ParameterI
12 {
13   double defval;
14
15   double min;
16
17   double max;
18
19   @Override
20   public ValueConstrainI getValidValue()
21   {
22     return new ValueConstrainI()
23     {
24       @Override
25       public ValueType getType()
26       {
27         return ValueType.Double;
28       }
29
30       @Override
31       public Number getMin()
32       {
33         return min < max ? min : null;
34       }
35
36       @Override
37       public Number getMax()
38       {
39         return min < max ? max : null;
40       }
41     };
42   }
43
44   public DoubleParameter(DoubleParameter parm)
45   {
46     super(parm);
47     max = parm.max;
48     min = parm.min;
49   }
50
51   public DoubleParameter(String name, String description, boolean required,
52           Double defValue, double min, double max)
53   {
54     super(name, description, required, String.valueOf(defValue), null, null,
55             null);
56     defval = defValue;
57     this.min = min;
58     this.max = max;
59   }
60
61   public DoubleParameter(String name, String description, boolean required,
62           Double defValue, Double value, double min, double max)
63   {
64     super(name, description, required, String.valueOf(defValue),
65             String.valueOf(value), null, null);
66     defval = defValue;
67     this.min = min;
68     this.max = max;
69   }
70
71   @Override
72   public DoubleParameter copy()
73   {
74     return new DoubleParameter(this);
75   }
76 }