JAL-629 Change --open to --append and --opennew to --open. Make --open(new) part...
[jalview.git] / src / jalview / bin / argparser / ArgValue.java
1 package jalview.bin.argparser;
2
3 /**
4  * A helper class to keep an index of argument position with argument values
5  */
6 public class ArgValue implements Comparable<ArgValue>
7 {
8   private Arg arg;
9
10   private int argIndex;
11
12   private String value;
13
14   private String id;
15
16   private SubVals subVals;
17
18   protected ArgValue(Arg a, SubVals sv, String content, int argIndex)
19   {
20     this.arg = a;
21     this.value = content;
22     this.argIndex = argIndex;
23     this.subVals = sv == null ? new SubVals("") : sv;
24   }
25
26   protected ArgValue(Arg a, String value, int argIndex)
27   {
28     this.arg = a;
29     this.argIndex = argIndex;
30     this.subVals = new SubVals(value);
31     this.value = getSubVals().getContent();
32   }
33
34   public Arg getArg()
35   {
36     return arg;
37   }
38
39   public String getValue()
40   {
41     return value;
42   }
43
44   public int getArgIndex()
45   {
46     return argIndex;
47   }
48
49   protected void setId(String i)
50   {
51     id = i;
52   }
53
54   public String getId()
55   {
56     return id;
57   }
58
59   public SubVals getSubVals()
60   {
61     return subVals;
62   }
63
64   public String getSubVal(String key)
65   {
66     if (subVals == null || !subVals.has(key))
67       return null;
68     return subVals.get(key);
69   }
70
71   protected void putSubVal(String key, String val)
72   {
73     this.subVals.put(key, val);
74   }
75
76   @Override
77   public int compareTo(ArgValue o)
78   {
79     return this.getArgIndex() - o.getArgIndex();
80   }
81 }