1 package jalview.ws2.params;
3 import java.util.ArrayList;
4 import java.util.Collections;
7 import javax.xml.bind.annotation.XmlElement;
8 import javax.xml.bind.annotation.XmlRootElement;
10 import jalview.ws.params.ArgumentI;
13 * A wrapper of {@link ArgumentBean} list that can be marshaled or unmarshalled.
14 * Used by {@link SimpleParamDatastore} to read and store parameters in a file.
17 * @see SimpleParamDatastore
20 @XmlRootElement(name = "arguments")
21 class ArgumentBeanList
23 @XmlElement(name = "argument")
24 public List<ArgumentBean> arguments = Collections.emptyList();
30 ArgumentBeanList(List<ArgumentBean> arguments)
32 this.arguments = arguments;
35 static ArgumentBeanList fromList(List<? extends ArgumentI> list)
37 var args = new ArrayList<ArgumentBean>();
39 args.add(item instanceof ArgumentBean ? (ArgumentBean) item : new ArgumentBean(item));
40 return new ArgumentBeanList(args);
44 public String toString()
46 var elements = new String[arguments.size()];
47 for (int i = 0; i < arguments.size(); i++)
48 elements[i] = arguments.toString();
49 return "[" + String.join(", ", elements) + "]";