View Javadoc
1   package emissary.client.response;
2   
3   import jakarta.xml.bind.annotation.XmlAccessType;
4   import jakarta.xml.bind.annotation.XmlAccessorType;
5   import jakarta.xml.bind.annotation.XmlElement;
6   import org.slf4j.Logger;
7   import org.slf4j.LoggerFactory;
8   
9   import java.io.Serializable;
10  import java.util.Set;
11  import java.util.SortedSet;
12  import java.util.TreeSet;
13  
14  @XmlAccessorType(XmlAccessType.NONE)
15  public class AgentList implements Serializable {
16      private static final long serialVersionUID = -6660679929326876133L;
17  
18      private static final Logger logger = LoggerFactory.getLogger(AgentList.class);
19  
20      @XmlElement(name = "host")
21      private String host;
22  
23      @XmlElement(name = "agents")
24      private SortedSet<Agent> agents;
25  
26      public AgentList() {
27          agents = new TreeSet<>();
28      }
29  
30      public AgentList(String host, SortedSet<Agent> agents) {
31          this.host = host;
32          this.agents = agents;
33      }
34  
35      public String getHost() {
36          return host;
37      }
38  
39      public void setHost(String host) {
40          this.host = host;
41      }
42  
43      public Set<Agent> getAgents() {
44          return agents;
45      }
46  
47      public void setAgents(SortedSet<Agent> agents) {
48          this.agents = agents;
49      }
50  
51      public void addAgent(Agent agent) {
52          this.agents.add(agent);
53      }
54  
55      public void dumpToConsole() {
56          StringBuilder sb = new StringBuilder();
57          sb.append("\n").append(getHost()).append(" :");
58          for (Agent agent : getAgents()) {
59              sb.append("\n         ").append(agent);
60          }
61          logger.info("{}", sb);
62      }
63  }