JAL-3878 Create beans for un/marshalling service parameters
[jalview.git] / src / jalview / ws2 / params / ArgumentBean.java
1 package jalview.ws2.params;
2
3 import javax.xml.bind.annotation.XmlAttribute;
4 import javax.xml.bind.annotation.XmlElement;
5 import javax.xml.bind.annotation.XmlRootElement;
6
7 import jalview.ws.params.ArgumentI;
8
9 /**
10  * A minimal bean implementing {@link ArgumentI} which stores argument
11  * name, label and value. It's mainly used to marshal and unmarshal
12  * parameter values of a preset.
13  * 
14  * @author mmwarowny
15  *
16  */
17 @XmlRootElement(name = "parameter")
18 class ArgumentBean implements ArgumentI
19 {
20   String name;
21
22   String label;
23
24   String value;
25
26   ArgumentBean()
27   {
28     this.name = null;
29     this.label = null;
30     this.value = null;
31   }
32
33   ArgumentBean(ArgumentI copyof)
34   {
35     this.name = copyof.getName();
36     this.label = copyof.getLabel();
37     this.value = copyof.getValue();
38   }
39
40   @XmlAttribute
41   @Override
42   public String getName()
43   {
44     return name;
45   }
46
47   public void setName(String name)
48   {
49     this.name = name;
50   }
51
52   @XmlElement
53   @Override
54   public String getLabel()
55   {
56     return label;
57   }
58
59   public void setLabel(String label)
60   {
61     this.label = label;
62   }
63
64   @XmlElement
65   @Override
66   public String getValue()
67   {
68     return value;
69   }
70
71   @Override
72   public void setValue(String selectedItem)
73   {
74     this.value = selectedItem;
75   }
76
77   @Override
78   public String toString()
79   {
80     return String.format("Parameter(name=%s, value=%s)", name, value);
81   }
82 }