package org.gbif.occurrence.search.heatmap;
import org.gbif.api.model.occurrence.search.OccurrenceSearchRequest;
import com.google.common.base.MoreObjects;
import com.google.common.base.Objects;
/**
* Request class for issuing heat map search request to the occurrence search service.
* Warning:
*/
public class OccurrenceHeatmapRequest extends OccurrenceSearchRequest {
private String geometry;
private int zoom;
/**
* Default empty constructor, required for serialization.
*/
public OccurrenceHeatmapRequest(){
super(0,0);
}
/**
* The region to compute the heatmap on, specified using the rectangle-range syntax or WKT.
* It defaults to the world. ex: ["-180 -90" TO "180 90"].
*/
public String getGeometry() {
return geometry;
}
public void setGeometry(String geometry) {
this.geometry = geometry;
}
/**
* Heatmap zoom/gridLevel level
* @return
*/
public int getZoom() {
return zoom;
}
public void setZoom(int zoom) {
this.zoom = zoom;
}
@Override
public String toString() {
return MoreObjects.toStringHelper(this).add("geometry", geometry).add("zoom",zoom).toString();
}
@Override
public boolean equals(Object obj) {
if (this == obj) {
return true;
}
if (!(obj instanceof OccurrenceHeatmapRequest)) {
return false;
}
OccurrenceHeatmapRequest that = (OccurrenceHeatmapRequest) obj;
return Objects.equal(geometry, that.geometry)
&& Objects.equal(zoom, that.zoom);
}
@Override
public int hashCode() {
return Objects.hashCode(super.hashCode(), geometry, zoom);
}
}