PlacesResponseEntity.java
package emissary.client.response;
import jakarta.xml.bind.annotation.XmlAccessType;
import jakarta.xml.bind.annotation.XmlAccessorType;
import jakarta.xml.bind.annotation.XmlElement;
import jakarta.xml.bind.annotation.XmlRootElement;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import java.util.HashSet;
import java.util.Set;
import javax.annotation.Nullable;
@XmlRootElement(name = "places")
@XmlAccessorType(XmlAccessType.NONE)
public class PlacesResponseEntity extends BaseResponseEntity {
private static final long serialVersionUID = 5686691885767273319L;
private static final Logger logger = LoggerFactory.getLogger(PlacesResponseEntity.class);
@XmlElement(name = "local")
private PlaceList local = new PlaceList();
@XmlElement(name = "cluster")
private Set<PlaceList> cluster = new HashSet<>();
public PlacesResponseEntity() {}
public PlacesResponseEntity(PlaceList local) {
this.local = local;
}
public void addClusterPlaces(@Nullable PlaceList pl) {
if (cluster == null) {
cluster = new HashSet<>();
}
if (pl != null) {
this.cluster.add(pl);
}
}
public PlaceList getLocal() {
return local;
}
public void setLocal(PlaceList local) {
this.local = local;
}
public Set<PlaceList> getCluster() {
return cluster;
}
@Override
public void append(BaseEntity e) {
addErrors(e.getErrors());
if (e instanceof PlacesResponseEntity) {
PlacesResponseEntity pre = this.getClass().cast(e);
addClusterPlaces(pre.getLocal());
}
}
@Override
public void dumpToConsole() {
getLocal().dumpToConsole();
for (PlaceList placeList : getCluster()) {
placeList.dumpToConsole();
}
logger.info("");
}
}