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 }