package org.gbif.occurrence.processor.interpreting.result; import org.gbif.api.vocabulary.Country; import org.gbif.common.parsers.geospatial.LatLng; import com.google.common.base.Objects; /** * The immutable result of a Coordinate interpretation. */ public class CoordinateResult { private final Double latitude; private final Double longitude; private final Country country; public CoordinateResult(LatLng coord, Country country) { this.latitude = coord.getLat(); this.longitude = coord.getLng(); this.country = country; } public Double getLatitude() { return latitude; } public Double getLongitude() { return longitude; } public Country getCountry() { return country; } public boolean isEmpty() { return latitude == null && longitude == null && country == null; } @Override public int hashCode() { return Objects.hashCode(latitude, longitude, country); } @Override public boolean equals(Object obj) { if (this == obj) { return true; } if (obj == null || getClass() != obj.getClass()) { return false; } final CoordinateResult other = (CoordinateResult) obj; return Objects.equal(this.latitude, other.latitude) && Objects.equal(this.longitude, other.longitude) && Objects.equal(this.country, other.country); } }