Testing Smartthings sensors with some adjustments for 4th benchmark
[iot2.git] / benchmarks / other / ZigbeeTest / IoTZigbeeAddress.java
1
2 /** Class IoTZigbeeAddress is a wrapper class to pass
3  *  IoTSet of device addresses from master to slave
4  *
5  * @author      Ali Younis <ayounis @ uci.edu>
6  * @version     1.0
7  * @since       2016-04-12
8  */
9 public class IoTZigbeeAddress {
10
11         /**
12          * IoTZigbeeAddress class properties
13          */
14         private final String zigbeeAddress;
15         private final byte[] zigbeeAddressByteArray;
16
17         /**
18          * Class constructor
19          *
20          * @param   zAddress  Zigbee long address
21          */
22         public IoTZigbeeAddress(String zAddress) {
23                 zigbeeAddress = zAddress;
24                 // convert to byte array
25                 zigbeeAddressByteArray = new byte[zAddress.length() / 2];
26                 for (int i = 0; i < zAddress.length(); i += 2) {
27                         zigbeeAddressByteArray[i / 2] = (byte) ((Character.digit(zAddress.charAt(i), 16) << 4)
28                         + Character.digit(zAddress.charAt(i + 1), 16));
29                 }
30         }
31
32         /**
33          * getAddress() method that returns the zigbee address as a human readable String
34          *
35          * @return String
36          */
37         public String getAddress() {
38                 return zigbeeAddress;
39         }
40
41         /**
42          * getAddressBytes() method that returns the zigbee address as a byte array
43          *
44          * @return byte[]
45          */
46         public byte[] getAddressBytes() {
47                 return zigbeeAddressByteArray;
48         }
49 }