From faae05fdc5fa52694cb79541c2de30f53308d555 Mon Sep 17 00:00:00 2001 From: jprocter Date: Mon, 29 Aug 2011 13:49:17 +0100 Subject: [PATCH] JAL-633 simple concrete parameter and option objects for use within Jalview --- src/jalview/ws/params/simple/BooleanOption.java | 18 ++++ src/jalview/ws/params/simple/IntegerParameter.java | 82 ++++++++++++++++ src/jalview/ws/params/simple/Option.java | 101 ++++++++++++++++++++ src/jalview/ws/params/simple/Parameter.java | 25 +++++ .../ws/params/simple/StringChoiceParameter.java | 6 ++ 5 files changed, 232 insertions(+) create mode 100644 src/jalview/ws/params/simple/BooleanOption.java create mode 100644 src/jalview/ws/params/simple/IntegerParameter.java create mode 100644 src/jalview/ws/params/simple/Option.java create mode 100644 src/jalview/ws/params/simple/Parameter.java create mode 100644 src/jalview/ws/params/simple/StringChoiceParameter.java diff --git a/src/jalview/ws/params/simple/BooleanOption.java b/src/jalview/ws/params/simple/BooleanOption.java new file mode 100644 index 0000000..d9b294d --- /dev/null +++ b/src/jalview/ws/params/simple/BooleanOption.java @@ -0,0 +1,18 @@ +package jalview.ws.params.simple; + +import java.net.URL; +import java.util.Arrays; + +import jalview.ws.params.OptionI; + +public class BooleanOption extends Option implements OptionI +{ + + public BooleanOption(String name, String descr, boolean required, boolean defVal, + boolean val, URL link) + { + + super(name,descr,required,(defVal ? name:""),(val ? name:""),Arrays.asList(new String[] {name}),link); + } + +} diff --git a/src/jalview/ws/params/simple/IntegerParameter.java b/src/jalview/ws/params/simple/IntegerParameter.java new file mode 100644 index 0000000..29df95d --- /dev/null +++ b/src/jalview/ws/params/simple/IntegerParameter.java @@ -0,0 +1,82 @@ +/** + * + */ +package jalview.ws.params.simple; + +import jalview.ws.params.ParameterI; +import jalview.ws.params.ValueConstrainI; + +import compbio.metadata.ValueConstrain.Type; + +/** + * @author jimp + * + */ +public class IntegerParameter extends Option implements ParameterI +{ + int defval; + int min,max; + public ValueConstrainI getValidValue() { + return new ValueConstrainI() + { + + @Override + public ValueType getType() + { + return ValueType.Integer; + } + + @Override + public Number getMin() + { + if (min possibleVals=new ArrayList(); + boolean required; + URL fdetails; + @Override + public String getName() + { + return name; + } + + @Override + public String getValue() + { + return value==null ? defvalue : value; + } + + @Override + public void setValue(String selectedItem) + { + value = selectedItem; + } + + @Override + public URL getFurtherDetails() + { + return fdetails; + } + + @Override + public boolean isRequired() + { + return required; + } + + @Override + public String getDescription() + { + return description; + } + + @Override + public List getPossibleValues() + { + return possibleVals; + } + public Option(Option opt) + { + name = new String(opt.name); + if (opt.value!=null) + value = new String(opt.value); + if (opt.defvalue!=null) + defvalue=new String(opt.defvalue); + if (opt.description!=null) + description=new String(opt.description); + if (opt.possibleVals!=null) { + possibleVals = (ArrayList)opt.possibleVals.clone(); + } + required = opt.required; + // URLs are singletons - so we copy by reference. nasty but true. + fdetails = opt.fdetails; + } + public Option() + { + } + + public Option(String name2, String description2, boolean isrequired, + String defValue, String value, Collection possibleVals, URL fdetails) + { + name = name2; + description = description2; + this.value = value; + this.required = isrequired; + this.defvalue = defValue; + if (possibleVals!=null) + { + this.possibleVals = new ArrayList(); + this.possibleVals.addAll(possibleVals); + } + this.fdetails = fdetails; + } + + + @Override + public OptionI copy() + { + Option opt = new Option(this); + return opt; + } +} \ No newline at end of file diff --git a/src/jalview/ws/params/simple/Parameter.java b/src/jalview/ws/params/simple/Parameter.java new file mode 100644 index 0000000..a2eb5ef --- /dev/null +++ b/src/jalview/ws/params/simple/Parameter.java @@ -0,0 +1,25 @@ +package jalview.ws.params.simple; + +import jalview.ws.params.OptionI; +import jalview.ws.params.ParameterI; +import jalview.ws.params.ValueConstrainI; + +public abstract class Parameter extends Option implements OptionI,ParameterI { + ValueConstrainI validator; + @Override + public ValueConstrainI getValidValue() + { + return validator; + } + public Parameter(Parameter parm) + { + super(parm); + } + public Parameter(ValueConstrainI validator) + { + super(); + this.validator = validator; + } + @Override + public abstract Parameter copy(); +} \ No newline at end of file diff --git a/src/jalview/ws/params/simple/StringChoiceParameter.java b/src/jalview/ws/params/simple/StringChoiceParameter.java new file mode 100644 index 0000000..1d56cf6 --- /dev/null +++ b/src/jalview/ws/params/simple/StringChoiceParameter.java @@ -0,0 +1,6 @@ +package jalview.ws.params.simple; + +public class StringChoiceParameter extends Option +{ + +} -- 1.7.10.2