+package jalview.ws.params.simple;
+
+import jalview.ws.params.ParameterI;
+import jalview.ws.params.ValueConstrainI;
+
+/**
+ *
+ * @author TZVanaalten
+ *
+ */
+public class LogarithmicParameter extends Option implements ParameterI
+{
+ Double defval;
+
+ Double min, max;
+
+ Double base;
+
+ @Override
+ public ValueConstrainI getValidValue()
+ {
+ return new ValueConstrainI()
+ {
+
+ @Override
+ public ValueType getType()
+ {
+ return ValueType.Double;
+ }
+
+ @Override
+ public Number getMin()
+ {
+ if (min < max)
+ {
+ return min;
+ }
+ else
+ {
+ return null;
+ }
+ }
+
+ @Override
+ public Number getMax()
+ {
+ if (min < max)
+ {
+ return max;
+ }
+ else
+ {
+ return null;
+ }
+ }
+ };
+ }
+
+ public LogarithmicParameter(LogarithmicParameter parm)
+ {
+ super(parm);
+ max = parm.max;
+ min = parm.min;
+ base = parm.base;
+ }
+
+ public LogarithmicParameter(String name, String description,
+ boolean required, Double defValue, Double min, Double max,
+ Double base)
+ {
+ super(name, description, required, String.valueOf(defValue), null, null,
+ null);
+ defval = defValue;
+ this.min = min;
+ this.max = max;
+ this.base = base;
+ }
+
+ public LogarithmicParameter(String name, String description,
+ boolean required, Double defValue, Double value, Double min,
+ Double max, Double base)
+ {
+ super(name, description, required, String.valueOf(defValue),
+ String.valueOf(value), null, null);
+ defval = defValue;
+ this.min = min;
+ this.max = max;
+ this.base = base;
+ }
+
+ @Override
+ public LogarithmicParameter copy()
+ {
+ return new LogarithmicParameter(this);
+ }
+
+ public Double getBase()
+ {
+ return base;
+ }
+}