Updated with latest from mchmmer branch
[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, max;
16
17   @Override
18   public ValueConstrainI getValidValue()
19   {
20     return new ValueConstrainI()
21     {
22
23       @Override
24       public ValueType getType()
25       {
26         return ValueType.Double;
27       }
28
29       @Override
30       public Number getMin()
31       {
32         if (min < max)
33         {
34           return min;
35         }
36         else
37         {
38           return null;
39         }
40       }
41
42       @Override
43       public Number getMax()
44       {
45         if (min < max)
46         {
47           return max;
48         }
49         else
50         {
51           return null;
52         }
53       }
54     };
55   }
56
57   public DoubleParameter(DoubleParameter parm)
58   {
59     super(parm);
60     max = parm.max;
61     min = parm.min;
62   }
63
64   public DoubleParameter(String name, String description, boolean required,
65           Double defValue, Double min, Double max)
66   {
67     super(name, description, required, String.valueOf(defValue), null, null,
68             null);
69     defval = defValue;
70     this.min = min;
71     this.max = max;
72   }
73
74   public DoubleParameter(String name, String description, boolean required,
75           Double defValue, Double value, Double min, Double max)
76   {
77     super(name, description, required, String.valueOf(defValue),
78             String.valueOf(value), null, null);
79     defval = defValue;
80     this.min = min;
81     this.max = max;
82   }
83
84   @Override
85   public DoubleParameter copy()
86   {
87     return new DoubleParameter(this);
88   }
89 }