PageRenderTime 24ms CodeModel.GetById 14ms RepoModel.GetById 1ms app.codeStats 0ms

/servers/jain-slee/resources/diameter-gx/events/src/main/java/org/mobicents/slee/resource/diameter/gx/events/GxCreditControlRequestImpl.java

http://mobicents.googlecode.com/
Java | 411 lines | 167 code | 49 blank | 195 comment | 1 complexity | b03a53cd8e9b2e6d8a4906dcb6384f90 MD5 | raw file
Possible License(s): LGPL-3.0, GPL-3.0, LGPL-2.1, GPL-2.0, CC-BY-SA-3.0, CC0-1.0, Apache-2.0, BSD-3-Clause
  1. /*
  2. * JBoss, Home of Professional Open Source
  3. * Copyright 2011, Red Hat, Inc. and individual contributors
  4. * by the @authors tag. See the copyright.txt in the distribution for a
  5. * full listing of individual contributors.
  6. *
  7. * This is free software; you can redistribute it and/or modify it
  8. * under the terms of the GNU Lesser General Public License as
  9. * published by the Free Software Foundation; either version 2.1 of
  10. * the License, or (at your option) any later version.
  11. *
  12. * This software is distributed in the hope that it will be useful,
  13. * but WITHOUT ANY WARRANTY; without even the implied warranty of
  14. * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
  15. * Lesser General Public License for more details.
  16. *
  17. * You should have received a copy of the GNU Lesser General Public
  18. * License along with this software; if not, write to the Free
  19. * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
  20. * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
  21. */
  22. package org.mobicents.slee.resource.diameter.gx.events;
  23. import net.java.slee.resource.diameter.gx.events.avp.PDPSessionOperation;
  24. import net.java.slee.resource.diameter.gx.events.avp.TFTPacketFilterInformation;
  25. import org.jdiameter.api.Message;
  26. import org.mobicents.slee.resource.diameter.cca.events.avp.SubscriptionIdAvpImpl;
  27. import org.mobicents.slee.resource.diameter.cca.events.avp.UserEquipmentInfoAvpImpl;
  28. import net.java.slee.resource.diameter.base.events.avp.DiameterAvpCodes;
  29. import net.java.slee.resource.diameter.base.events.avp.TerminationCauseType;
  30. import net.java.slee.resource.diameter.cca.events.avp.CreditControlAVPCodes;
  31. import net.java.slee.resource.diameter.cca.events.avp.SubscriptionIdAvp;
  32. import net.java.slee.resource.diameter.cca.events.avp.UserEquipmentInfoAvp;
  33. import net.java.slee.resource.diameter.gx.events.GxCreditControlRequest;
  34. import org.mobicents.slee.resource.diameter.gx.events.avp.DiameterGxAvpCodes;
  35. import org.mobicents.slee.resource.diameter.gx.events.avp.TFTPacketFilterInformationImpl;
  36. /**
  37. * @author <a href="mailto:carl-magnus.bjorkell@emblacom.com"> Carl-Magnus Bj??rkell </a>
  38. * @author <a href="mailto:karthikeyan_s@spanservices.com"> Karthikeyan Shanmugam (EmblaCom)</a>
  39. */
  40. public class GxCreditControlRequestImpl extends GxCreditControlMessageImpl implements GxCreditControlRequest {
  41. /**
  42. * @param message
  43. */
  44. public GxCreditControlRequestImpl(Message message) {
  45. super(message);
  46. }
  47. /*
  48. * (non-Javadoc)
  49. * @see net.java.slee.resource.diameter.gx.events.GxCreditControlRequest#getServiceContextId()
  50. */
  51. @Override
  52. public String getServiceContextId() {
  53. return getAvpAsUTF8String(CreditControlAVPCodes.Service_Context_Id);
  54. }
  55. /*
  56. * (non-Javadoc)
  57. * @see net.java.slee.resource.diameter.gx.events.GxCreditControlRequest#setServiceContextId(java.lang.String)
  58. */
  59. @Override
  60. public void setServiceContextId(String serviceContextId) throws IllegalStateException {
  61. addAvp(CreditControlAVPCodes.Service_Context_Id, serviceContextId);
  62. }
  63. /*
  64. * (non-Javadoc)
  65. * @see net.java.slee.resource.diameter.gx.events.GxCreditControlRequest#hasServiceContextId()
  66. */
  67. @Override
  68. public boolean hasServiceContextId() {
  69. return hasAvp(CreditControlAVPCodes.Service_Context_Id);
  70. }
  71. /*
  72. * (non-Javadoc)
  73. * @see net.java.slee.resource.diameter.gx.events.GxCreditControlRequest#getSubscriptionIds()
  74. */
  75. @Override
  76. public SubscriptionIdAvp[] getSubscriptionIds() {
  77. return (SubscriptionIdAvp[]) getAvpsAsCustom(CreditControlAVPCodes.Subscription_Id, SubscriptionIdAvpImpl.class);
  78. }
  79. /*
  80. * (non-Javadoc)
  81. * @see net.java.slee.resource.diameter.gx.events.GxCreditControlRequest#setSubscriptionId(net.java.slee.resource.diameter.cca.events.avp.SubscriptionIdAvp)
  82. */
  83. @Override
  84. public void setSubscriptionId(SubscriptionIdAvp subscriptionId) throws IllegalStateException {
  85. addAvp(CreditControlAVPCodes.Subscription_Id, subscriptionId.byteArrayValue());
  86. }
  87. /*
  88. * (non-Javadoc)
  89. * @see net.java.slee.resource.diameter.gx.events.GxCreditControlRequest#setSubscriptionIds(net.java.slee.resource.diameter.cca.events.avp.SubscriptionIdAvp[])
  90. */
  91. @Override
  92. public void setSubscriptionIds(SubscriptionIdAvp[] subscriptionIds) throws IllegalStateException {
  93. for (SubscriptionIdAvp subscriptionId : subscriptionIds) {
  94. setSubscriptionId(subscriptionId);
  95. }
  96. }
  97. /*
  98. * (non-Javadoc)
  99. * @see net.java.slee.resource.diameter.gx.events.GxCreditControlRequest#getTerminationCause()
  100. */
  101. @Override
  102. public TerminationCauseType getTerminationCause() {
  103. return (TerminationCauseType) getAvpAsEnumerated(DiameterAvpCodes.TERMINATION_CAUSE, TerminationCauseType.class);
  104. }
  105. /*
  106. * (non-Javadoc)
  107. * @see net.java.slee.resource.diameter.gx.events.GxCreditControlRequest#setTerminationCause(net.java.slee.resource.diameter.base.events.avp.TerminationCauseType)
  108. */
  109. @Override
  110. public void setTerminationCause(TerminationCauseType terminationCause) throws IllegalStateException {
  111. addAvp(DiameterAvpCodes.TERMINATION_CAUSE, terminationCause.getValue());
  112. }
  113. /*
  114. * (non-Javadoc)
  115. * @see net.java.slee.resource.diameter.gx.events.GxCreditControlRequest#hasTerminationCause()
  116. */
  117. @Override
  118. public boolean hasTerminationCause() {
  119. return hasAvp(DiameterAvpCodes.TERMINATION_CAUSE);
  120. }
  121. /*
  122. * (non-Javadoc)
  123. * @see net.java.slee.resource.diameter.gx.events.GxCreditControlRequest#getUserEquipmentInfo()
  124. */
  125. @Override
  126. public UserEquipmentInfoAvp getUserEquipmentInfo() {
  127. return (UserEquipmentInfoAvp) getAvpAsCustom(CreditControlAVPCodes.User_Equipment_Info, UserEquipmentInfoAvpImpl.class);
  128. }
  129. /* (non-Javadoc)
  130. * @see net.java.slee.resource.diameter.gx.events.GxCreditControlRequest#setUserEquipmentInfo(net.java.slee.resource.diameter.cca.events.avp.UserEquipmentInfoAvp)
  131. */
  132. @Override
  133. public void setUserEquipmentInfo(UserEquipmentInfoAvp userEquipmentInfo) throws IllegalStateException {
  134. addAvp(CreditControlAVPCodes.User_Equipment_Info, userEquipmentInfo.byteArrayValue());
  135. }
  136. /*
  137. * (non-Javadoc)
  138. * @see net.java.slee.resource.diameter.gx.events.GxCreditControlRequest#hasUserEquipmentInfo()
  139. */
  140. @Override
  141. public boolean hasUserEquipmentInfo() {
  142. return hasAvp(CreditControlAVPCodes.User_Equipment_Info);
  143. }
  144. @Override
  145. public String getLongName() {
  146. return "Credit-Control-Request";
  147. }
  148. @Override
  149. public String getShortName() {
  150. return "CCR";
  151. }
  152. /**
  153. * (non-Javadoc)
  154. * @see net.java.slee.resource.diameter.gx.events.GxCreditControlRequest#getFramedIPAddress()
  155. */
  156. public byte[] getFramedIPAddress() {
  157. return getAvpAsOctetString(DiameterGxAvpCodes.FRAMED_IP_ADDRESS);
  158. }
  159. /**
  160. * (non-Javadoc)
  161. * @see net.java.slee.resource.diameter.gx.events.GxCreditControlRequest#hasFramedIPAddress()
  162. */
  163. public boolean hasFramedIPAddress() {
  164. return hasAvp(DiameterGxAvpCodes.FRAMED_IP_ADDRESS);
  165. }
  166. /**
  167. * (non-Javadoc)
  168. * @see net.java.slee.resource.diameter.gx.events.GxCreditControlRequest#setFramedIPAddress()
  169. */
  170. public void setFramedIPAddress(byte[] framedIpAddress) {
  171. addAvp(DiameterGxAvpCodes.FRAMED_IP_ADDRESS, framedIpAddress);
  172. }
  173. /**
  174. * (non-Javadoc)
  175. * @see net.java.slee.resource.diameter.gx.events.GxCreditControlRequest#getFramedIPV6Prefix()
  176. */
  177. public byte[] getFramedIPV6Prefix() {
  178. return getAvpAsOctetString(DiameterGxAvpCodes.FRAMED_IPV6_PREFIX);
  179. }
  180. /**
  181. * (non-Javadoc)
  182. * @see net.java.slee.resource.diameter.gx.events.GxCreditControlRequest#hasFramedIPV6Prefix()
  183. */
  184. public boolean hasFramedIPV6Prefix() {
  185. return hasAvp(DiameterGxAvpCodes.FRAMED_IPV6_PREFIX);
  186. }
  187. /**
  188. * (non-Javadoc)
  189. * @see net.java.slee.resource.diameter.gx.events.GxCreditControlRequest#setFramedIPV6Prefix()
  190. */
  191. public void setFramedIPV6Prefix(byte[] framedIPV6Prefix) {
  192. addAvp(DiameterGxAvpCodes.FRAMED_IPV6_PREFIX, framedIPV6Prefix);
  193. }
  194. /**
  195. * (non-Javadoc)
  196. * @see net.java.slee.resource.diameter.gx.events.GxCreditControlRequest#getTgppRatType()
  197. */
  198. public byte[] getTgppRatType() {
  199. return getAvpAsOctetString(DiameterGxAvpCodes.TGPP_RAT_TYPE, DiameterGxAvpCodes.TGPP_VENDOR_ID);
  200. }
  201. /**
  202. * (non-Javadoc)
  203. * @see net.java.slee.resource.diameter.gx.events.GxCreditControlRequest#hasTgppRatType()
  204. */
  205. public boolean hasTgppRatType() {
  206. return hasAvp(DiameterGxAvpCodes.TGPP_RAT_TYPE, DiameterGxAvpCodes.TGPP_VENDOR_ID);
  207. }
  208. /**
  209. * (non-Javadoc)
  210. * @see net.java.slee.resource.diameter.gx.events.GxCreditControlRequest#setTgppRatType()
  211. */
  212. public void setTgppRatType(byte[] tgppRatType) {
  213. addAvp(DiameterGxAvpCodes.TGPP_RAT_TYPE, DiameterGxAvpCodes.TGPP_VENDOR_ID, tgppRatType);
  214. }
  215. /**
  216. * (non-Javadoc)
  217. * @see net.java.slee.resource.diameter.gx.events.GxCreditControlRequest#getTgppGPRSNegotiatedQosProfile()
  218. */
  219. public byte[] getTgppGPRSNegotiatedQosProfile() {
  220. return getAvpAsOctetString(DiameterGxAvpCodes.TGPP_GPRS_NEGOTIATED_QOS_PROFILE, DiameterGxAvpCodes.TGPP_VENDOR_ID);
  221. }
  222. /**
  223. * (non-Javadoc)
  224. * @see net.java.slee.resource.diameter.gx.events.GxCreditControlRequest#hasTgppGPRSNegotiatedQosProfile()
  225. */
  226. public boolean hasTgppGPRSNegotiatedQosProfile() {
  227. return hasAvp(DiameterGxAvpCodes.TGPP_GPRS_NEGOTIATED_QOS_PROFILE, DiameterGxAvpCodes.TGPP_VENDOR_ID);
  228. }
  229. /**
  230. * (non-Javadoc)
  231. * @see net.java.slee.resource.diameter.gx.events.GxCreditControlRequest#setTgppGPRSNegotiatedQosProfile()
  232. */
  233. public void setTgppGPRSNegotiatedQosProfile(byte[] tgppGPRSNegotiatedQosProfile) {
  234. addAvp(DiameterGxAvpCodes.TGPP_GPRS_NEGOTIATED_QOS_PROFILE, DiameterGxAvpCodes.TGPP_VENDOR_ID, tgppGPRSNegotiatedQosProfile);
  235. }
  236. /**
  237. * (non-Javadoc)
  238. * @see net.java.slee.resource.diameter.gx.events.GxCreditControlRequest#getTgppSgsnMccMnc()
  239. */
  240. public byte[] getTgppSgsnMccMnc() {
  241. return getAvpAsOctetString(DiameterGxAvpCodes.TGPP_SGSN_MCC_MNC, DiameterGxAvpCodes.TGPP_VENDOR_ID);
  242. }
  243. /**
  244. * (non-Javadoc)
  245. * @see net.java.slee.resource.diameter.gx.events.GxCreditControlRequest#hasTgppSgsnMccMnc()
  246. */
  247. public boolean hasTgppSgsnMccMnc() {
  248. return hasAvp(DiameterGxAvpCodes.TGPP_SGSN_MCC_MNC, DiameterGxAvpCodes.TGPP_VENDOR_ID);
  249. }
  250. /**
  251. * (non-Javadoc)
  252. * @see net.java.slee.resource.diameter.gx.events.GxCreditControlRequest#setTgppSgsnMccMnc()
  253. */
  254. public void setTgppSgsnMccMnc(byte[] tgppSgsnMccMnc) {
  255. addAvp(DiameterGxAvpCodes.TGPP_SGSN_MCC_MNC, DiameterGxAvpCodes.TGPP_VENDOR_ID, tgppSgsnMccMnc);
  256. }
  257. /**
  258. * (non-Javadoc)
  259. * @see net.java.slee.resource.diameter.gx.events.GxCreditControlRequest#getTgppSgsnAddress()
  260. */
  261. public byte[] getTgppSgsnAddress() {
  262. return getAvpAsOctetString(DiameterGxAvpCodes.TGPP_SGSN_ADDRESS, DiameterGxAvpCodes.TGPP_VENDOR_ID);
  263. }
  264. /**
  265. * (non-Javadoc)
  266. * @see net.java.slee.resource.diameter.gx.events.GxCreditControlRequest#hasTgppSgsnAddress()
  267. */
  268. public boolean hasTgppSgsnAddress() {
  269. return hasAvp(DiameterGxAvpCodes.TGPP_SGSN_ADDRESS, DiameterGxAvpCodes.TGPP_VENDOR_ID);
  270. }
  271. /**
  272. * (non-Javadoc)
  273. * @see net.java.slee.resource.diameter.gx.events.GxCreditControlRequest#setTgppSgsnAddress()
  274. */
  275. public void setTgppSgsnAddress(byte[] TgppSgsnAddress) {
  276. addAvp(DiameterGxAvpCodes.TGPP_SGSN_ADDRESS, DiameterGxAvpCodes.TGPP_VENDOR_ID, TgppSgsnAddress);
  277. }
  278. /**
  279. * (non-Javadoc)
  280. * @see net.java.slee.resource.diameter.gx.events.GxCreditControlRequest#getTgppSgsnIPV6Address()
  281. */
  282. public byte[] getTgppSgsnIPV6Address() {
  283. return getAvpAsOctetString(DiameterGxAvpCodes.TGPP_SGSN_IPv6_ADDRESS, DiameterGxAvpCodes.TGPP_VENDOR_ID);
  284. }
  285. /**
  286. * (non-Javadoc)
  287. * @see net.java.slee.resource.diameter.gx.events.GxCreditControlRequest#hasTgppSgsnIPV6Address()
  288. */
  289. public boolean hasTgppSgsnIPV6Address() {
  290. return hasAvp(DiameterGxAvpCodes.TGPP_SGSN_IPv6_ADDRESS, DiameterGxAvpCodes.TGPP_VENDOR_ID);
  291. }
  292. /**
  293. * (non-Javadoc)
  294. * @see net.java.slee.resource.diameter.gx.events.GxCreditControlRequest#setTgppSgsnIPV6Address()
  295. */
  296. public void setTgppSgsnIPV6Address(byte[] tgppSgsnIPV6Address) {
  297. addAvp(DiameterGxAvpCodes.TGPP_SGSN_IPv6_ADDRESS, DiameterGxAvpCodes.TGPP_VENDOR_ID, tgppSgsnIPV6Address);
  298. }
  299. /**
  300. * (non-Javadoc)
  301. * @see net.java.slee.resource.diameter.gx.events.GxCreditControlRequest#getCalledStationId()
  302. */
  303. public String getCalledStationId() {
  304. return getAvpAsUTF8String(DiameterGxAvpCodes.CALLED_STATION_ID);
  305. }
  306. /**
  307. * (non-Javadoc)
  308. * @see net.java.slee.resource.diameter.gx.events.GxCreditControlRequest#hasCalledStationId()
  309. */
  310. public boolean hasCalledStationId() {
  311. return hasAvp(DiameterGxAvpCodes.CALLED_STATION_ID);
  312. }
  313. /**
  314. * (non-Javadoc)
  315. * @see net.java.slee.resource.diameter.gx.events.GxCreditControlRequest#setCalledStationId()
  316. */
  317. public void setCalledStationId(String calledStationId) {
  318. addAvp(DiameterGxAvpCodes.CALLED_STATION_ID, calledStationId);
  319. }
  320. /**
  321. * (non-Javadoc)
  322. * @see net.java.slee.resource.diameter.gx.events.GxCreditControlRequest#getPdpdSessionOperation()
  323. */
  324. public PDPSessionOperation getPdpSessionOperation() {
  325. return (PDPSessionOperation) getAvpAsEnumerated(DiameterGxAvpCodes.PDP_SESSION_OPERATION, DiameterGxAvpCodes.TGPP_VENDOR_ID, PDPSessionOperation.class);
  326. }
  327. /**
  328. * (non-Javadoc)
  329. * @see net.java.slee.resource.diameter.gx.events.GxCreditControlRequest#hasPdpSessionOperation()
  330. */
  331. public boolean hasPdpSessionOperation() {
  332. return hasAvp(DiameterGxAvpCodes.PDP_SESSION_OPERATION, DiameterGxAvpCodes.TGPP_VENDOR_ID);
  333. }
  334. /**
  335. * (non-Javadoc)
  336. * @see net.java.slee.resource.diameter.gx.events.GxCreditControlRequest#setPdpSessionOperation(net.java.slee.resource.diameter.gx.events.avp.PDPSessionOperation)
  337. */
  338. public void setPdpSessionOperation(PDPSessionOperation pdpSessionOperation) {
  339. addAvp(DiameterGxAvpCodes.PDP_SESSION_OPERATION, DiameterGxAvpCodes.TGPP_VENDOR_ID, pdpSessionOperation.getValue());
  340. }
  341. /**
  342. * (non-Javadoc)
  343. * @see net.java.slee.resource.diameter.gx.events.GxCreditControlRequest#getTFTPacketFilterInformation()
  344. */
  345. public TFTPacketFilterInformation getTFTPacketFilterInformation() {
  346. return (TFTPacketFilterInformation) getAvpAsCustom(DiameterGxAvpCodes.TFT_PACKET_FILTER_INFORMATION, DiameterGxAvpCodes.TGPP_VENDOR_ID, TFTPacketFilterInformationImpl.class);
  347. }
  348. /**
  349. * (non-Javadoc)
  350. * @see net.java.slee.resource.diameter.gx.events.GxCreditControlRequest#hasTFTPacketFilterInformation()
  351. */
  352. public boolean hasTFTPacketFilterInformation() {
  353. return hasAvp(DiameterGxAvpCodes.TFT_PACKET_FILTER_INFORMATION, DiameterGxAvpCodes.TGPP_VENDOR_ID);
  354. }
  355. /**
  356. * (non-Javadoc)
  357. * @see net.java.slee.resource.diameter.gx.events.GxCreditControlRequest#setTFTPacketFilterInformation(net.java.slee.resource.diameter.gx.events.avp.TFTPacketFilterInformation)
  358. */
  359. public void setTFTPacketFilterInformation(TFTPacketFilterInformation tFTPacketFilterInformation) {
  360. addAvp(DiameterGxAvpCodes.TFT_PACKET_FILTER_INFORMATION, DiameterGxAvpCodes.TGPP_VENDOR_ID, tFTPacketFilterInformation.byteArrayValue());
  361. }
  362. }