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