edits
[iotcloud.git] / version2 / src / java / light_fan_embed_benchmark / IoTDeviceAddress.java
1 // Java packages\r
2 import java.net.Socket;\r
3 import java.net.ServerSocket;\r
4 import java.net.InetAddress;\r
5 import java.net.UnknownHostException;\r
6 \r
7 /** Class IoTDeviceAddress is a wrapper class to pass\r
8  *  IoTSet of device addresses from master to slave\r
9  *\r
10  * @author      Rahmadi Trimananda <rahmadi.trimananda @ uci.edu>\r
11  * @version     1.0\r
12  * @since       2016-02-18\r
13  */\r
14 public class IoTDeviceAddress extends IoTAddress {\r
15 \r
16         /**\r
17          * IoTDeviceAddress class properties\r
18          */\r
19         private int iSrcPort;\r
20         private int iDstPort;\r
21         private final String sAddress;\r
22 \r
23         // the wildcard status of this address\r
24         private final boolean isSrcPortWildCard;\r
25         private final boolean isDstPortWildCard;\r
26 \r
27 \r
28         /**\r
29          * Class constructor\r
30          *\r
31          * @param   sAddress                    String address\r
32          * @param   _iSrcPort                   Source port number\r
33          * @param   _iDstPort                   Destination port number\r
34          * @param   _isSrcPortWildCard  Is this source port a wild card (=can change port number)?\r
35          * @param   _isDstPortWildCard  Is this destination port a wild card (=can change port number)?\r
36          */\r
37         protected IoTDeviceAddress(String _sAddress, int _iSrcPort, int _iDstPort, boolean _isSrcPortWildCard, \r
38                 boolean _isDstPortWildCard) throws UnknownHostException {\r
39 \r
40                 super(_sAddress);\r
41                 sAddress = _sAddress;\r
42                 iSrcPort = _iSrcPort;\r
43                 iDstPort = _iDstPort;\r
44 \r
45                 isSrcPortWildCard = _isSrcPortWildCard;\r
46                 isDstPortWildCard = _isDstPortWildCard;\r
47         }\r
48 \r
49         /**\r
50          * getSourcePortNumber() method\r
51          *\r
52          * @return  int\r
53          */\r
54         public int getSourcePortNumber() {\r
55 \r
56                 return iSrcPort;\r
57 \r
58         }\r
59 \r
60         /**\r
61          * getDestinationPortNumber() method\r
62          *\r
63          * @return  int\r
64          */\r
65         public int getDestinationPortNumber() {\r
66 \r
67                 return iDstPort;\r
68 \r
69         }\r
70 \r
71         /**\r
72          * setSrcPort() method\r
73          *\r
74          * @param   port        Port number\r
75          * @return  void\r
76          */\r
77         public void setSrcPort(int port) {\r
78                 if (isSrcPortWildCard) {\r
79                         iSrcPort = port;\r
80                 }\r
81         }\r
82 \r
83         /**\r
84          * setDstPort() method\r
85          *\r
86          * @param   port        Port number\r
87          * @return  void\r
88          */\r
89         public void setDstPort(int port) {\r
90                 if (isDstPortWildCard) {\r
91                         iDstPort = port;\r
92                 }\r
93         }\r
94 \r
95         /**\r
96          * getAddress() method\r
97          *\r
98          * @return  String\r
99          */\r
100         public String getAddress() {\r
101                 return sAddress;\r
102         }\r
103 \r
104         /**\r
105          * getHostAddress() method\r
106          *\r
107          * @return  String\r
108          */\r
109         public static String getLocalHostAddress() {\r
110 \r
111                 String strLocalHostAddress = null;\r
112                 try {\r
113                         strLocalHostAddress = InetAddress.getLocalHost().getHostAddress();\r
114                 } catch (UnknownHostException ex) {\r
115                         ex.printStackTrace();\r
116                 }               \r
117                 return strLocalHostAddress;\r
118         }\r
119 \r
120         /**\r
121          * getIsSrcPortWildcard() method\r
122          *\r
123          * @return  boolean\r
124          */\r
125         public boolean getIsSrcPortWildcard() {\r
126                 return isSrcPortWildCard;\r
127         }\r
128 \r
129         /**\r
130          * getIsDstPortWildcard() method\r
131          *\r
132          * @return  boolean\r
133          */\r
134         public boolean getIsDstPortWildcard() {\r
135                 return isDstPortWildCard;\r
136         }\r
137 \r
138 \r
139         /**\r
140          * getUrl() method\r
141          *\r
142          * @return  String\r
143          */\r
144         public String getURL(String strURLComplete) {\r
145 \r
146                 //e.g. http:// + inetAddress.getHostAddress() + strURLComplete\r
147                 //     http://192.168.2.254/cgi-bin/mjpg/video.cgi?\r
148                 return "http://" + inetAddress.getHostAddress() + ":" + iDstPort + strURLComplete;\r
149                 \r
150         }\r
151 }\r