package eu.hgross.blaubot.geobeacon; import eu.hgross.blaubot.core.acceptor.discovery.BeaconMessage; /** * Contains a BeaconMessage and the geo data */ public class GeoBeaconMessage { private String beaconUuid; private final BeaconMessage beaconMessage; private final GeoData geoData; public GeoBeaconMessage(BeaconMessage beaconMessage, GeoData geoData, String beaconUuid) { this.beaconMessage = beaconMessage; this.geoData = geoData; this.beaconUuid = beaconUuid; } public GeoBeaconMessage(GeoBeaconMessageDTO dto) { this.beaconMessage = dto.getBeaconMessage(); this.geoData = dto.getGeoData(); this.beaconUuid = dto.getBeaconUuid(); } public BeaconMessage getBeaconMessage() { return beaconMessage; } public GeoData getGeoData() { return geoData; } public String getBeaconUuid() { return beaconUuid; } @Override public boolean equals(Object o) { if (this == o) return true; if (o == null || getClass() != o.getClass()) return false; GeoBeaconMessage that = (GeoBeaconMessage) o; if (beaconUuid != null ? !beaconUuid.equals(that.beaconUuid) : that.beaconUuid != null) return false; if (beaconMessage != null ? !beaconMessage.getUniqueDeviceId().equals(that.beaconMessage.getUniqueDeviceId()) : that.beaconMessage != null) return false; return true; } @Override public int hashCode() { int result = beaconUuid != null ? beaconUuid.hashCode() : 0; result = 31 * result + (beaconMessage != null ? beaconMessage.getUniqueDeviceId().hashCode() : 0); return result; } }