DeviceItem.java 7.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382
  1. package com.wydpp.gb28181.meta;
  2. import lombok.NoArgsConstructor;
  3. import org.apache.commons.lang3.time.FastDateFormat;
  4. import javax.xml.bind.annotation.XmlAccessOrder;
  5. import javax.xml.bind.annotation.XmlAccessType;
  6. import javax.xml.bind.annotation.XmlAccessorOrder;
  7. import javax.xml.bind.annotation.XmlAccessorType;
  8. import javax.xml.bind.annotation.XmlAttribute;
  9. import javax.xml.bind.annotation.XmlElement;
  10. import javax.xml.bind.annotation.XmlRootElement;
  11. import javax.xml.bind.annotation.XmlTransient;
  12. import javax.xml.bind.annotation.XmlType;
  13. import java.io.Serializable;
  14. import java.util.Date;
  15. /**
  16. * <pre>
  17. *
  18. * Created by zhaopx.
  19. * Date: 2025/5/23
  20. * Time: 19:49
  21. * Vendor: exlive.cn
  22. *
  23. * </pre>
  24. *
  25. * @author zhaopx
  26. */
  27. @NoArgsConstructor
  28. @XmlType(propOrder = {})
  29. @XmlRootElement(name = "Item")
  30. @XmlAccessorType(XmlAccessType.PROPERTY)
  31. public class DeviceItem implements Serializable, Cloneable {
  32. /**
  33. * 设备 ID。 设备/区域/系统编码(必选)
  34. */
  35. String deviceID;
  36. /**
  37. * 设备/区域/系统名称(必选)
  38. */
  39. String name;
  40. /**
  41. * 生产厂商,当为设备时,设备厂商(必选)
  42. */
  43. String manufacturer;
  44. /**
  45. * 当为设备时,设备型号(必选)
  46. */
  47. String model = "Model";
  48. /**
  49. * 当为设备时,设备归属(必选)
  50. */
  51. String owner = "Owner";
  52. /**
  53. * 行政区域(必选)
  54. */
  55. String civilCode = "CivilCode";
  56. /**
  57. * 警区(可选)
  58. */
  59. String block = "Block";
  60. /**
  61. * 当为设备时,安装地址(必选)
  62. */
  63. String address = "上海市五角场合生汇";
  64. /**
  65. * 当为设备时,是否有子设备(必选)1有,0没有
  66. */
  67. String parental = "0";
  68. /**
  69. * 父设备/区域/系统ID(必选)
  70. */
  71. String parentID = "${DEVICE_ID}";
  72. /**
  73. * 信令安全模式(可选)缺省为0; 0:不采用;2:S/MIME 签名方式;3:S/ MIME加密签名同时采用方式;4:数字摘要方式
  74. */
  75. String safetyWay = "0";
  76. /**
  77. * 注册方式(必选)缺省为1;1:符合IETFRFC3261标准的认证注册模 式;2:基于口令的双向认证注册模式;3:基于数字证书的双向认证注册模式
  78. */
  79. String registerWay = "1";
  80. /**
  81. * 证书序列号(有证书的设备必选)
  82. */
  83. String certNum = "CertNum1";
  84. /**
  85. * 证书有效标识(有证书的设备必选)缺省为0;证书有效标识:0:无效 1: 有效
  86. */
  87. String certifiable = "0";
  88. /**
  89. * 无效原因码(有证书且证书无效的设备必选)
  90. */
  91. String errCode = "400";
  92. /**
  93. * 证书终止有效期(有证书的设备必选)
  94. */
  95. String endTime = FastDateFormat.getInstance("yyyy-MM-dd'T'HH:mm:ss").format(new Date());
  96. /**
  97. * 保密属性(必选)缺省为0;0:不涉密,1:涉密
  98. */
  99. String secrecy = "0";
  100. /**
  101. * 设备/区域/系统IP地址(可选)
  102. */
  103. String ipAddress = "192.168.3.81";
  104. /**
  105. * 设备/区域/系统端口(可选)
  106. */
  107. int port = 5060;
  108. /**
  109. * 设备口令(可选)
  110. */
  111. String password = "Password1";
  112. /**
  113. * 设备状态(必选), ON/OFF
  114. */
  115. String status = "ON";
  116. /**
  117. * 经度(可选)
  118. */
  119. double longitude = 171.4;
  120. /**
  121. * 纬度(可选)
  122. */
  123. double latitude = 34.2;
  124. /**
  125. * 推流来源
  126. */
  127. String url;
  128. public DeviceItem(String deviceID, String name, String manufacturer) {
  129. this.deviceID = deviceID;
  130. this.name = name;
  131. this.manufacturer = manufacturer;
  132. }
  133. @XmlElement(name = "DeviceID")
  134. public String getDeviceID() {
  135. return deviceID;
  136. }
  137. public void setDeviceID(String deviceID) {
  138. this.deviceID = deviceID;
  139. }
  140. @XmlElement(name = "Name")
  141. public String getName() {
  142. return name;
  143. }
  144. public void setName(String name) {
  145. this.name = name;
  146. }
  147. @XmlElement(name = "Manufacturer")
  148. public String getManufacturer() {
  149. return manufacturer;
  150. }
  151. public void setManufacturer(String manufacturer) {
  152. this.manufacturer = manufacturer;
  153. }
  154. @XmlElement(name = "Model")
  155. public String getModel() {
  156. return model;
  157. }
  158. public void setModel(String model) {
  159. this.model = model;
  160. }
  161. @XmlElement(name = "Owner")
  162. public String getOwner() {
  163. return owner;
  164. }
  165. public void setOwner(String owner) {
  166. this.owner = owner;
  167. }
  168. @XmlElement(name = "CivilCode")
  169. public String getCivilCode() {
  170. return civilCode;
  171. }
  172. public void setCivilCode(String civilCode) {
  173. this.civilCode = civilCode;
  174. }
  175. @XmlElement(name = "Block")
  176. public String getBlock() {
  177. return block;
  178. }
  179. public void setBlock(String block) {
  180. this.block = block;
  181. }
  182. @XmlElement(name = "Address")
  183. public String getAddress() {
  184. return address;
  185. }
  186. public void setAddress(String address) {
  187. this.address = address;
  188. }
  189. @XmlElement(name = "Parental")
  190. public String getParental() {
  191. return parental;
  192. }
  193. public void setParental(String parental) {
  194. this.parental = parental;
  195. }
  196. @XmlElement(name = "ParentID")
  197. public String getParentID() {
  198. return parentID;
  199. }
  200. public void setParentID(String parentID) {
  201. this.parentID = parentID;
  202. }
  203. @XmlElement(name = "SafetyWay")
  204. public String getSafetyWay() {
  205. return safetyWay;
  206. }
  207. public void setSafetyWay(String safetyWay) {
  208. this.safetyWay = safetyWay;
  209. }
  210. @XmlElement(name = "RegisterWay")
  211. public String getRegisterWay() {
  212. return registerWay;
  213. }
  214. public void setRegisterWay(String registerWay) {
  215. this.registerWay = registerWay;
  216. }
  217. @XmlElement(name = "CertNum")
  218. public String getCertNum() {
  219. return certNum;
  220. }
  221. public void setCertNum(String certNum) {
  222. this.certNum = certNum;
  223. }
  224. @XmlElement(name = "Certifiable")
  225. public String getCertifiable() {
  226. return certifiable;
  227. }
  228. public void setCertifiable(String certifiable) {
  229. this.certifiable = certifiable;
  230. }
  231. @XmlElement(name = "ErrCode")
  232. public String getErrCode() {
  233. return errCode;
  234. }
  235. public void setErrCode(String errCode) {
  236. this.errCode = errCode;
  237. }
  238. @XmlElement(name = "EndTime")
  239. public String getEndTime() {
  240. return endTime;
  241. }
  242. public void setEndTime(String endTime) {
  243. this.endTime = endTime;
  244. }
  245. @XmlElement(name = "Secrecy")
  246. public String getSecrecy() {
  247. return secrecy;
  248. }
  249. public void setSecrecy(String secrecy) {
  250. this.secrecy = secrecy;
  251. }
  252. @XmlElement(name = "IPAddress")
  253. public String getIpAddress() {
  254. return ipAddress;
  255. }
  256. public void setIpAddress(String ipAddress) {
  257. this.ipAddress = ipAddress;
  258. }
  259. @XmlElement(name = "Port")
  260. public int getPort() {
  261. return port;
  262. }
  263. public void setPort(int port) {
  264. this.port = port;
  265. }
  266. @XmlElement(name = "Password")
  267. public String getPassword() {
  268. return password;
  269. }
  270. public void setPassword(String password) {
  271. this.password = password;
  272. }
  273. @XmlElement(name = "Status")
  274. public String getStatus() {
  275. return status;
  276. }
  277. public void setStatus(String status) {
  278. this.status = status;
  279. }
  280. @XmlElement(name = "Longitude")
  281. public double getLongitude() {
  282. return longitude;
  283. }
  284. public void setLongitude(double longitude) {
  285. this.longitude = longitude;
  286. }
  287. @XmlElement(name = "Latitude")
  288. public double getLatitude() {
  289. return latitude;
  290. }
  291. public void setLatitude(double latitude) {
  292. this.latitude = latitude;
  293. }
  294. @XmlTransient
  295. public String getUrl() {
  296. return url;
  297. }
  298. public void setUrl(String url) {
  299. this.url = url;
  300. }
  301. @Override
  302. public Object clone() throws CloneNotSupportedException {
  303. return super.clone();
  304. }
  305. }