--- /dev/null
+package jalview.ws.params.simple;
+
+import jalview.ws.params.ParameterI;
+import jalview.ws.params.ValueConstrainI;
+
+import java.util.List;
+
+public class StringParameter extends Option implements ParameterI
+{
+ @Override
+ public ValueConstrainI getValidValue()
+ {
+ return new StringValueConstrain();
+ }
+
+ @Override
+ public ParameterI copy()
+ {
+ return new StringParameter(this);
+ }
+
+ private class StringValueConstrain implements ValueConstrainI
+ {
+
+ @Override
+ public ValueType getType()
+ {
+ return ValueType.String;
+ }
+
+ @Override
+ public Number getMax()
+ {
+ return null;
+ }
+
+ @Override
+ public Number getMin()
+ {
+ return null;
+ }
+
+ }
+
+ public StringParameter(StringParameter parm)
+ {
+ this.name = parm.name;
+ this.defvalue = parm.defvalue;
+ this.possibleVals = parm.possibleVals;
+ this.displayVals = parm.displayVals;
+ }
+
+ public StringParameter(String name, String description, boolean required,
+ String defValue)
+ {
+ super(name, description, required, String.valueOf(defValue), null, null,
+ null);
+ this.defvalue = defValue;
+ }
+
+ public StringParameter(String name, String description, boolean required,
+ String defValue, String value)
+ {
+ super(name, description, required, String.valueOf(defValue),
+ String.valueOf(value), null, null);
+ this.defvalue = defValue;
+ }
+
+ /**
+ * Constructor for a parameter with a list of possible values and (optionally)
+ * corresponding display names
+ *
+ * @param name2
+ * @param description2
+ * @param isrequired
+ * @param defValue
+ * @param value
+ * @param possibleVals
+ * @param displayNames
+ */
+ public StringParameter(String name2, String description2,
+ boolean isrequired, String defValue, String value,
+ List<String> possibleVals, List<String> displayNames)
+ {
+ super(name2, description2, isrequired, defValue, value, possibleVals,
+ displayNames, null);
+ }
+}