public class MapMarker { @NonNull private final String placeId; @NonNull private final String name; @NonNull private final String address; private final double latitude; private final double longitude; public MapMarker( @NonNull String placeId, @NonNull String name, @NonNull String address, double latitude, double longitude ) { this.placeId = placeId; this.name = name; this.address = address; this.latitude = latitude; this.longitude = longitude; } @NonNull public String getPlaceId() { return placeId; } @NonNull public String getName() { return name; } @NonNull public String getAddress() { return address; } public double getLatitude() { return latitude; } public double getLongitude() { return longitude; } @Override public boolean equals(Object o) { if (this == o) return true; if (o == null || getClass() != o.getClass()) return false; MapMarker mapMarker = (MapMarker) o; return Double.compare(mapMarker.latitude, latitude) == 0 && Double.compare(mapMarker.longitude, longitude) == 0 && placeId.equals(mapMarker.placeId) && Objects.equals(name, mapMarker.name) && Objects.equals(address, mapMarker.address); } @Override public int hashCode() { return Objects.hash(placeId, name, address, latitude, longitude); } @NonNull @Override public String toString() { return "MapMarker{" + "placeId='" + placeId + '\'' + ", name='" + name + '\'' + ", address='" + address + '\'' + ", latitude=" + latitude + ", longitude=" + longitude + '}'; } }