Agent.java
package emissary.client.response;
import jakarta.xml.bind.annotation.XmlAccessType;
import jakarta.xml.bind.annotation.XmlAccessorType;
import jakarta.xml.bind.annotation.XmlElement;
import org.apache.commons.lang3.builder.EqualsBuilder;
import org.apache.commons.lang3.builder.HashCodeBuilder;
import java.io.Serializable;
@XmlAccessorType(XmlAccessType.NONE)
public class Agent implements Comparable<Agent>, Serializable {
    private static final long serialVersionUID = 2428511052308449193L;
    @XmlElement(name = "name")
    private String name;
    @XmlElement(name = "status")
    private String status;
    public Agent() {}
    public Agent(String name, String status) {
        this.name = name;
        this.status = status;
    }
    public String getName() {
        return name;
    }
    public void setName(String name) {
        this.name = name;
    }
    public String getStatus() {
        return status;
    }
    public void setStatus(String status) {
        this.status = status;
    }
    @Override
    public int compareTo(Agent o) {
        return getName().compareTo(o.getName());
    }
    @Override
    public boolean equals(Object o) {
        return EqualsBuilder.reflectionEquals(this, o);
    }
    @Override
    public int hashCode() {
        return HashCodeBuilder.reflectionHashCode(this);
    }
    @Override
    public String toString() {
        return getName() + ": " + getStatus();
    }
}