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