// Path: app/src/main/java/com/agrhub/sensehub/components/util/DeviceName.java
// public enum DeviceName {
//     DB_DEVICE_NAME_UNKNOWN(0),
//     DB_DEVICE_NAME_SP3_SMART_PLUG(1),
//     DB_DEVICE_NAME_SONOFF_SMART_PLUG(2),
//     DB_DEVICE_NAME_XIAOMI_SMART_PLUG(3),
//     DB_DEVICE_NAME_MI_FLORA(4),
//     DB_DEVICE_NAME_AXAET_AIR_SENSOR(5),
//     DB_DEVICE_NAME_TI_TAG_SENSOR(6),
//     DB_DEVICE_NAME_FIOT_SMART_TANK(7),
//     DB_DEVICE_NAME_RM3_SMART_REMOTE(8),
//     DB_DEVICE_NAME_GATEWAY(9),
//     DB_DEVICE_NAME_NRF51822_SENSOR(10),
//     DB_DEVICE_NAME_GATEWAY_ANDROID_THINGS(11);
// 
//     private final int value;
//     private DeviceName(int value) {
//         this.value = value;
//     }
// 
//     public int getValue() {
//         return value;
//     }
// }
// 
// Path: app/src/main/java/com/agrhub/sensehub/components/util/DeviceState.java
// public enum DeviceState {
//     DEVICE_CONNECTED(0),
//     DEVICE_DISCONNECTED(1),
//     DEVICE_ERROR(2);
// 
//     private final int value;
//     private DeviceState(int value) {
//         this.value = value;
//     }
// 
//     public int getValue() {
//         return value;
//     }
// }
// 
// Path: app/src/main/java/com/agrhub/sensehub/components/util/DeviceType.java
// public enum DeviceType {
//     DB_DEVICE_TYPE_UNKNOWN(0),
//     DB_DEVICE_TYPE_SENSOR(1),
//     DB_DEVICE_TYPE_CONTROLLER(2),
//     DB_DEVICE_TYPE_CONTAINER(3),
//     DB_DEVICE_TYPE_GATEWAY(4);
// 
//     private final int value;
//     private DeviceType(int value) {
//         this.value = value;
//     }
// 
//     public int getValue() {
//         return value;
//     }
// }
// 
// Path: app/src/main/java/com/agrhub/sensehub/components/util/SensorType.java
// public enum SensorType {
//     SENSOR_TYPE_UNKNOWN(0),
//     SENSOR_TYPE_LIGHT(1),
//     SENSOR_TYPE_AIR_TEMP(2),
//     SENSOR_TYPE_AIR_HUMIDITY(3),
//     SENSOR_TYPE_SOIL_TEMP(4),
//     SENSOR_TYPE_SOIL_HUMIDITY(5),
//     SENSOR_TYPE_SOIL_EC(6),
//     SENSOR_TYPE_SOIL_PH(7),
//     SENSOR_TYPE_WATER_TEMP(8),
//     SENSOR_TYPE_WATER_EC(9),
//     SENSOR_TYPE_WATER_PH(10),
//     SENSOR_TYPE_WATER_ORP(11),
//     SENSOR_TYPE_BAT(12),
//     SENSOR_TYPE_CO2(13),
//     SENSOR_TYPE_WATER_LEVEL(14),
//     SENSOR_TYPE_WATER_DETECT(15),
//     SENSOR_TYPE_ERROR_DETECT(16);
// 
//     private final int value;
//     private SensorType(int value) {
//         this.value = value;
//     }
// 
//     public int getValue() {
//         return value;
//     }
// }


import android.content.Context;
import com.agrhub.sensehub.components.util.DeviceName;
import com.agrhub.sensehub.components.util.DeviceState;
import com.agrhub.sensehub.components.util.DeviceType;
import com.agrhub.sensehub.components.util.SensorType;

package com.agrhub.sensehub.components.entity;



/**
 * Created by tanca on 10/19/2017.
 */

public abstract class Entity {
    private String mMacAddress;
    private DeviceName mDeviceName;
    private DeviceType mDeviceType;
    private DeviceState mDeviceState;
    private Context mContext;

    public Entity(){
        this.mMacAddress = "00:00:00:00:00:00";
        this.mDeviceName = DeviceName.DB_DEVICE_NAME_UNKNOWN;
        this.mDeviceType = DeviceType.DB_DEVICE_TYPE_UNKNOWN;
        this.mDeviceState = DeviceState.DEVICE_CONNECTED;
    }

    public String getMacAddress() {
        return mMacAddress;
    }

    public void setMacAddress(String mMacAddress) {
        this.mMacAddress = mMacAddress;
    }

    public DeviceName getDeviceName() {
        return mDeviceName;
    }

    public void setDeviceName(DeviceName mDeviceName) {
        this.mDeviceName = mDeviceName;
    }

    public DeviceType getDeviceType() {
        return mDeviceType;
    }


// Path: app/src/main/java/com/agrhub/sensehub/components/util/DeviceName.java
// public enum DeviceName {
//     DB_DEVICE_NAME_UNKNOWN(0),
//     DB_DEVICE_NAME_SP3_SMART_PLUG(1),
//     DB_DEVICE_NAME_SONOFF_SMART_PLUG(2),
//     DB_DEVICE_NAME_XIAOMI_SMART_PLUG(3),
//     DB_DEVICE_NAME_MI_FLORA(4),
//     DB_DEVICE_NAME_AXAET_AIR_SENSOR(5),
//     DB_DEVICE_NAME_TI_TAG_SENSOR(6),
//     DB_DEVICE_NAME_FIOT_SMART_TANK(7),
//     DB_DEVICE_NAME_RM3_SMART_REMOTE(8),
//     DB_DEVICE_NAME_GATEWAY(9),
//     DB_DEVICE_NAME_NRF51822_SENSOR(10),
//     DB_DEVICE_NAME_GATEWAY_ANDROID_THINGS(11);
// 
//     private final int value;
//     private DeviceName(int value) {
//         this.value = value;
//     }
// 
//     public int getValue() {
//         return value;
//     }
// }
// 
// Path: app/src/main/java/com/agrhub/sensehub/components/util/DeviceState.java
// public enum DeviceState {
//     DEVICE_CONNECTED(0),
//     DEVICE_DISCONNECTED(1),
//     DEVICE_ERROR(2);
// 
//     private final int value;
//     private DeviceState(int value) {
//         this.value = value;
//     }
// 
//     public int getValue() {
//         return value;
//     }
// }
// 
// Path: app/src/main/java/com/agrhub/sensehub/components/util/DeviceType.java
// public enum DeviceType {
//     DB_DEVICE_TYPE_UNKNOWN(0),
//     DB_DEVICE_TYPE_SENSOR(1),
//     DB_DEVICE_TYPE_CONTROLLER(2),
//     DB_DEVICE_TYPE_CONTAINER(3),
//     DB_DEVICE_TYPE_GATEWAY(4);
// 
//     private final int value;
//     private DeviceType(int value) {
//         this.value = value;
//     }
// 
//     public int getValue() {
//         return value;
//     }
// }
// 
// Path: app/src/main/java/com/agrhub/sensehub/components/util/SensorType.java
// public enum SensorType {
//     SENSOR_TYPE_UNKNOWN(0),
//     SENSOR_TYPE_LIGHT(1),
//     SENSOR_TYPE_AIR_TEMP(2),
//     SENSOR_TYPE_AIR_HUMIDITY(3),
//     SENSOR_TYPE_SOIL_TEMP(4),
//     SENSOR_TYPE_SOIL_HUMIDITY(5),
//     SENSOR_TYPE_SOIL_EC(6),
//     SENSOR_TYPE_SOIL_PH(7),
//     SENSOR_TYPE_WATER_TEMP(8),
//     SENSOR_TYPE_WATER_EC(9),
//     SENSOR_TYPE_WATER_PH(10),
//     SENSOR_TYPE_WATER_ORP(11),
//     SENSOR_TYPE_BAT(12),
//     SENSOR_TYPE_CO2(13),
//     SENSOR_TYPE_WATER_LEVEL(14),
//     SENSOR_TYPE_WATER_DETECT(15),
//     SENSOR_TYPE_ERROR_DETECT(16);
// 
//     private final int value;
//     private SensorType(int value) {
//         this.value = value;
//     }
// 
//     public int getValue() {
//         return value;
//     }
// }


// Path: app/src/main/java/com/agrhub/sensehub/components/entity/Entity.java
import android.content.Context;
import com.agrhub.sensehub.components.util.DeviceName;
import com.agrhub.sensehub.components.util.DeviceState;
import com.agrhub.sensehub.components.util.DeviceType;
import com.agrhub.sensehub.components.util.SensorType;

package com.agrhub.sensehub.components.entity;



/**
 * Created by tanca on 10/19/2017.
 */

public abstract class Entity {
    private String mMacAddress;
    private DeviceName mDeviceName;
    private DeviceType mDeviceType;
    private DeviceState mDeviceState;
    private Context mContext;

    public Entity(){
        this.mMacAddress = "00:00:00:00:00:00";
        this.mDeviceName = DeviceName.DB_DEVICE_NAME_UNKNOWN;
        this.mDeviceType = DeviceType.DB_DEVICE_TYPE_UNKNOWN;
        this.mDeviceState = DeviceState.DEVICE_CONNECTED;
    }

    public String getMacAddress() {
        return mMacAddress;
    }

    public void setMacAddress(String mMacAddress) {
        this.mMacAddress = mMacAddress;
    }

    public DeviceName getDeviceName() {
        return mDeviceName;
    }

    public void setDeviceName(DeviceName mDeviceName) {
        this.mDeviceName = mDeviceName;
    }

    public DeviceType getDeviceType() {
        return mDeviceType;
    }


    public void setDeviceType(DeviceType mDeviceType) {
