package eu.hgross.blaubot.geobeacon; import java.io.IOException; import eu.hgross.blaubot.core.acceptor.discovery.BeaconMessage; import eu.hgross.blaubot.util.Base64; /** * DTO for the {@link GeoBeaconMessage} */ public class GeoBeaconMessageDTO { private GeoData geoData; private String beaconUuid; private String beaconMessage64; public GeoBeaconMessageDTO() { } public GeoBeaconMessageDTO(GeoBeaconMessage geoBeaconMessage) { this.beaconMessage64 = Base64.encodeBytes(geoBeaconMessage.getBeaconMessage().toBytes()); this.geoData = geoBeaconMessage.getGeoData(); this.beaconUuid = geoBeaconMessage.getBeaconUuid(); } public String getBeaconMessage64() { return beaconMessage64; } public void setBeaconMessage64(String beaconMessage64) { this.beaconMessage64 = beaconMessage64; } /** * @return the beaconmessage deserialized from the base 64 attribute */ public BeaconMessage getBeaconMessage() { try { return BeaconMessage.fromBytes(Base64.decode(beaconMessage64)); } catch (IOException e) { throw new RuntimeException(e); } } public String getBeaconUuid() { return beaconUuid; } public void setBeaconUuid(String beaconUuid) { this.beaconUuid = beaconUuid; } public GeoData getGeoData() { return geoData; } public void setGeoData(GeoData geoData) { this.geoData = geoData; } }