/* LinkingBeacon.java Copyright (c) 2016 NTT DOCOMO,INC. Released under the MIT license http://opensource.org/licenses/mit-license.php */ package org.deviceconnect.android.deviceplugin.linking.beacon.data; import org.deviceconnect.android.deviceplugin.linking.beacon.LinkingBeaconUtil; public class LinkingBeacon { private boolean mOnline; private String mDisplayName; private int mExtraId; private int mVendorId; private int mVersion; private GattData mGattData; private TemperatureData mTemperatureData; private HumidityData mHumidityData; private BatteryData mBatteryData; private AtmosphericPressureData mAtmosphericPressureData; private RawData mRawData; private ButtonData mButtonData; public String getServiceId() { return LinkingBeaconUtil.createServiceIdFromLinkingBeacon(this); } public String getDisplayName() { return mDisplayName; } public void setDisplayName(final String displayName) { mDisplayName = displayName; } public long getTimeStamp() { if (mGattData != null) { return mGattData.getTimeStamp(); } return 0; } public boolean isOnline() { return mOnline; } public void setOnline(final boolean online) { mOnline = online; } public int getExtraId() { return mExtraId; } public void setExtraId(final int extraId) { mExtraId = extraId; } public int getVendorId() { return mVendorId; } public void setVendorId(final int vendorId) { mVendorId = vendorId; } public int getVersion() { return mVersion; } public void setVersion(final int version) { mVersion = version; } public GattData getGattData() { return mGattData; } public void setGattData(final GattData gattData) { mGattData = gattData; } public TemperatureData getTemperatureData() { return mTemperatureData; } public void setTemperatureData(final TemperatureData temperatureData) { mTemperatureData = temperatureData; } public HumidityData getHumidityData() { return mHumidityData; } public void setHumidityData(final HumidityData humidityData) { mHumidityData = humidityData; } public BatteryData getBatteryData() { return mBatteryData; } public void setBatteryData(final BatteryData batteryData) { mBatteryData = batteryData; } public AtmosphericPressureData getAtmosphericPressureData() { return mAtmosphericPressureData; } public void setAtmosphericPressureData(final AtmosphericPressureData atmosphericPressureData) { mAtmosphericPressureData = atmosphericPressureData; } public RawData getRawData() { return mRawData; } public void setRawData(final RawData rawData) { mRawData = rawData; } public ButtonData getButtonData() { return mButtonData; } public void setButtonData(ButtonData buttonData) { mButtonData = buttonData; } @Override public String toString() { StringBuilder sb = new StringBuilder(); sb.append("ExtraId: ") .append(getExtraId()) .append("\n") .append("VendorId: ") .append(getVendorId()) .append("\n") .append("Version: ") .append(getVersion()) .append("\n") .append(getGattData()) .append("\n") .append(getBatteryData()) .append("\n") .append(getHumidityData()) .append("\n") .append(getTemperatureData()) .append("\n") .append(getAtmosphericPressureData()) .append("\n") .append(getRawData()); return sb.toString(); } @Override public boolean equals(final Object obj) { if (obj == null) { return false; } if (obj == this) { return true; } if (!(obj instanceof LinkingBeacon)) { return false; } LinkingBeacon beacon = (LinkingBeacon) obj; return (beacon.mExtraId == mExtraId && beacon.mVendorId == mVendorId); } @Override public int hashCode() { final int prime = 31; int result = 1; result = prime * result + mExtraId + mVendorId; return result; } }