package jalview.bin.argparser;
+import jalview.bin.argparser.Arg.Opt;
+import jalview.bin.argparser.Arg.Type;
+
/**
* A helper class to keep an index of argument position with argument values
*/
private String value;
- // This id is set by a subVal id= to identify the product of this ArgValue
- // later. Set but not currently used.
+ /*
+ * Type type is only really used by --help-type
+ */
+ private Type type = null;
+
+ /*
+ * This id is set by a subVal id= to identify the product of this ArgValue
+ * later. Set but not currently used.
+ */
private String id;
private SubVals subVals;
- protected ArgValue(Arg a, SubVals sv, String content, int argIndex)
+ protected ArgValue(Arg a, SubVals sv, Type type, String content,
+ int argIndex)
{
this.arg = a;
this.value = content;
this.argIndex = argIndex;
this.subVals = sv == null ? new SubVals("") : sv;
+ this.setType(type);
}
- protected ArgValue(Arg a, String value, int argIndex)
+ protected ArgValue(Arg a, Type type, String value, int argIndex)
{
this.arg = a;
this.argIndex = argIndex;
this.subVals = new SubVals(value);
this.value = getSubVals().getContent();
+ this.setType(type);
+ }
+
+ protected void setType(Type t)
+ {
+ if (this.getArg().hasOption(Opt.HASTYPE))
+ this.type = t;
+ }
+
+ public Type getType()
+ {
+ return type;
}
public Arg getArg()
}
@Override
- public int compareTo(ArgValue o)
+ public final int compareTo(ArgValue o)
{
return this.getArgIndex() - o.getArgIndex();
}