1 package jalview.structure;
3 import java.util.ArrayList;
6 public class StructureCommand implements StructureCommandI
8 private String command;
10 private List<String> parameters;
12 public StructureCommand(String cmd, String... params)
17 for (String p : params)
25 public void addParameter(String param)
27 if (parameters == null)
29 parameters = new ArrayList<>();
31 parameters.add(param);
35 public String getCommand()
41 public List<String> getParameters()
47 public boolean hasParameters()
49 return parameters != null && !parameters.isEmpty();
53 public String toString()
59 StringBuilder sb = new StringBuilder(32);
60 sb.append(command).append("(");
62 for (String p : parameters)
78 int h = command.hashCode();
79 if (parameters != null)
81 for (String p : parameters)
83 h = h * 37 + p.hashCode();
90 * Answers true if {@code obj} is a {@code StructureCommand} with the same
91 * command and parameters as this one, else false
94 public boolean equals(Object obj)
96 if (obj == null || !(obj instanceof StructureCommand))
100 StructureCommand sc = (StructureCommand) obj;
102 if (!command.equals(sc.command))
106 if (parameters == null || sc.parameters == null)
108 return (parameters == null) && (sc.parameters == null);
111 int j = parameters.size();
112 if (j != sc.parameters.size())
116 for (int i = 0; i < j; i++)
118 if (!parameters.get(i).equals(sc.parameters.get(i)))