--- /dev/null
+package jalview.structure;
+
+import java.util.ArrayList;
+import java.util.List;
+
+public class StructureCommand implements StructureCommandI
+{
+ private String command;
+
+ private List<String> parameters;
+
+ public StructureCommand(String cmd, String... params)
+ {
+ command = cmd;
+ if (params != null)
+ {
+ for (String p : params)
+ {
+ addParameter(p);
+ }
+ }
+ }
+
+ @Override
+ public void addParameter(String param)
+ {
+ if (parameters == null)
+ {
+ parameters = new ArrayList<>();
+ }
+ parameters.add(param);
+ }
+
+ @Override
+ public String getCommand()
+ {
+ return command;
+ }
+
+ @Override
+ public List<String> getParameters()
+ {
+ return parameters;
+ }
+
+ @Override
+ public boolean hasParameters()
+ {
+ return parameters != null && !parameters.isEmpty();
+ }
+
+ @Override
+ public String toString()
+ {
+ if (!hasParameters())
+ {
+ return command;
+ }
+ StringBuilder sb = new StringBuilder(32);
+ sb.append(command).append("(");
+ boolean first = true;
+ for (String p : parameters)
+ {
+ if (!first)
+ {
+ sb.append(",");
+ }
+ first = false;
+ sb.append(p);
+ }
+ sb.append(")");
+ return sb.toString();
+ }
+
+}