PageRenderTime 129ms CodeModel.GetById 17ms RepoModel.GetById 0ms app.codeStats 0ms

/servers/jain-slee/resources/diameter-s6a/events/src/main/java/net/java/slee/resource/diameter/s6a/events/ResetAnswer.java

http://mobicents.googlecode.com/
Java | 254 lines | 36 code | 29 blank | 189 comment | 0 complexity | 8f626ea87b9b7debf8a68f1c6aaa0e3e 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 net.java.slee.resource.diameter.s6a.events;
  23. import net.java.slee.resource.diameter.base.events.DiameterMessage;
  24. import net.java.slee.resource.diameter.base.events.avp.AuthSessionStateType;
  25. import net.java.slee.resource.diameter.base.events.avp.DiameterIdentity;
  26. import net.java.slee.resource.diameter.base.events.avp.ExperimentalResultAvp;
  27. import net.java.slee.resource.diameter.base.events.avp.FailedAvp;
  28. import net.java.slee.resource.diameter.base.events.avp.ProxyInfoAvp;
  29. import net.java.slee.resource.diameter.base.events.avp.VendorSpecificApplicationIdAvp;
  30. import net.java.slee.resource.diameter.s6a.events.avp.SupportedFeaturesAvp;
  31. /**
  32. * Defines an interface representing the Authentication-Information-Request message.
  33. * From the Diameter S6a Reference Point Protocol Details (3GPP TS 29.272 V9.6.0) specification:
  34. *
  35. * <pre>
  36. * 7.2.16 Reset-Answer (RSA) Command
  37. *
  38. * The Reset-Answer (RSA) command, indicated by the Command-Code field set to 322 and the 'R' bit
  39. * cleared in the Command Flags field, is sent from MME or SGSN to HSS.
  40. *
  41. * Message Format
  42. * < Reset-Answer> ::= < Diameter Header: 322, PXY, 16777251 >
  43. * < Session-Id >
  44. * [ Vendor-Specific-Application-Id ]
  45. * *[ Supported-Features ]
  46. * [ Result-Code ]
  47. * [ Experimental-Result ]
  48. * { Auth-Session-State }
  49. * { Origin-Host }
  50. * { Origin-Realm }
  51. * *[ AVP ]
  52. * *[ Failed-AVP ]
  53. * *[ Proxy-Info ]
  54. * *[ Route-Record ]
  55. * </pre>
  56. *
  57. * @author <a href="mailto:brainslog@gmail.com"> Alexandre Mendonca </a>
  58. */
  59. public interface ResetAnswer extends DiameterMessage {
  60. public static final int COMMAND_CODE = 322;
  61. /**
  62. * Returns true if the Vendor-Specific-Application-Id AVP is present in the message.
  63. *
  64. * @return true if the Vendor-Specific-Application-Id AVP is present in the message, false otherwise
  65. */
  66. public boolean hasVendorSpecificApplicationId();
  67. /**
  68. * Returns the value of the Vendor-Specific-Application-Id AVP, of type Grouped.
  69. *
  70. * @return the value of the Vendor-Specific-Application-Id AVP or null if it has not been set on this message
  71. */
  72. public VendorSpecificApplicationIdAvp getVendorSpecificApplicationId();
  73. /**
  74. * Sets the value of the Vendor-Specific-Application-Id AVP, of type Grouped.
  75. *
  76. * @param vendorSpecificApplicationId the new value for the Vendor-Specific-Application-Id AVP
  77. */
  78. public void setVendorSpecificApplicationId(VendorSpecificApplicationIdAvp vendorSpecificApplicationId);
  79. /**
  80. * Set a single instance value of the Supported-Features AVP, of type Grouped.
  81. *
  82. * @param supportedFeatures
  83. */
  84. public void setSupportedFeatures(SupportedFeaturesAvp supportedFeatures);
  85. /**
  86. * Set multiple instance value of the Supported-Features AVP, of type Grouped.
  87. *
  88. * @param supportedFeatureses
  89. */
  90. public void setSupportedFeatureses(SupportedFeaturesAvp[] supportedFeatureses);
  91. /**
  92. * Returns the value of the Supported-Features AVP, of type Grouped.
  93. *
  94. * @return
  95. */
  96. public SupportedFeaturesAvp[] getSupportedFeatureses();
  97. /**
  98. * Returns true if the Result-Code AVP is present in the message.
  99. *
  100. * @return
  101. */
  102. boolean hasResultCode();
  103. /**
  104. * Returns the value of the Result-Code AVP, of type Unsigned32.
  105. * Use {@link #hasResultCode()} to check the existence of this AVP.
  106. *
  107. * @return the value of the Result-Code AVP
  108. */
  109. long getResultCode();
  110. /**
  111. * Sets the value of the Result-Code AVP, of type Unsigned32.
  112. *
  113. * @param resultCode
  114. */
  115. void setResultCode(long resultCode);
  116. /**
  117. * Returns true if the Experimental-Result AVP is present in the message.
  118. *
  119. * @return
  120. */
  121. public boolean hasExperimentalResult();
  122. /**
  123. * Returns the value of the Experimental-Result AVP, of type Grouped.
  124. * Use {@link #hasExperimentalResult()} to check the existence of this AVP.
  125. *
  126. * @return the value of the Experimental-Result AVP
  127. */
  128. public ExperimentalResultAvp getExperimentalResult();
  129. /**
  130. * Sets the value of the Experimental-Result AVP, of type Grouped.
  131. *
  132. * @param experimentalResult
  133. */
  134. public void setExperimentalResult(ExperimentalResultAvp experimentalResult);
  135. /**
  136. * Returns true if the Auth-Session-State AVP is present in the message.
  137. *
  138. * @return true if the Auth-Session-State AVP is present in the message, false otherwise
  139. */
  140. public boolean hasAuthSessionState();
  141. /**
  142. * Returns the value of the Auth-Session-State AVP, of type Enumerated.
  143. *
  144. * @return the value of the Auth-Session-State AVP, of type Enumerated
  145. */
  146. public AuthSessionStateType getAuthSessionState();
  147. /**
  148. * Sets the value of the Auth-Session-State AVP, of type Enumerated.
  149. *
  150. * @param authSessionState
  151. */
  152. public void setAuthSessionState(AuthSessionStateType authSessionState);
  153. /**
  154. * Returns the set of Failed-AVP AVPs. The returned array contains the AVPs in the order they
  155. * appear in the message.
  156. * A return value of null implies that no Failed-AVP AVPs have been set.
  157. * The elements in the given array are FailedAvp objects.
  158. */
  159. public FailedAvp[] getFailedAvps();
  160. /**
  161. * Sets a single Failed-AVP AVP in the message, of type Grouped.
  162. *
  163. * @param failedAvp
  164. */
  165. public void setFailedAvp(FailedAvp failedAvp);
  166. /**
  167. * Sets the set of Failed-AVP AVPs, with all the values in the given array.
  168. * The AVPs will be added to message in the order in which they appear in the array.
  169. *
  170. * Note: the array must not be altered by the caller following this call, and getFailedAvps()
  171. * is not guaranteed to return the same array instance, e.g. an "==" check would fail.
  172. *
  173. * @param failedAvps
  174. */
  175. public void setFailedAvps(FailedAvp[] failedAvps);
  176. /**
  177. * Returns the set of Proxy-Info AVPs. The returned array contains the AVPs in the order they
  178. * appear in the message.
  179. * A return value of null implies that no Proxy-Info AVPs have been set.
  180. * The elements in the given array are ProxyInfo objects.
  181. *
  182. * @return
  183. */
  184. public ProxyInfoAvp[] getProxyInfos();
  185. /**
  186. * Sets a single Proxy-Info AVP in the message, of type Grouped.
  187. *
  188. * @param proxyInfo
  189. */
  190. public void setProxyInfo(ProxyInfoAvp proxyInfo);
  191. /**
  192. * Sets the set of Proxy-Info AVPs, with all the values in the given array.
  193. * The AVPs will be added to message in the order in which they appear in the array.
  194. *
  195. * Note: the array must not be altered by the caller following this call, and getProxyInfos() is
  196. * not guaranteed to return the same array instance, e.g. an "==" check would fail.
  197. *
  198. * @param proxyInfos
  199. */
  200. public void setProxyInfos(ProxyInfoAvp[] proxyInfos);
  201. /**
  202. * Returns the set of Route-Record AVPs. The returned array contains the AVPs in the order they appear in the message.
  203. * A return value of null implies that no Route-Record AVPs have been set.
  204. * The elements in the given array are DiameterIdentity objects.
  205. *
  206. * @return
  207. */
  208. public DiameterIdentity[] getRouteRecords();
  209. /**
  210. * Sets a single Route-Record AVP in the message, of type DiameterIdentity.
  211. *
  212. * @param routeRecord
  213. */
  214. public void setRouteRecord(DiameterIdentity routeRecord);
  215. /**
  216. * Sets the set of Route-Record AVPs, with all the values in the given array.
  217. * The AVPs will be added to message in the order in which they appear in the array.
  218. *
  219. * Note: the array must not be altered by the caller following this call, and getRouteRecords() is
  220. * not guaranteed to return the same array instance, e.g. an "==" check would fail.
  221. *
  222. * @param routeRecords
  223. */
  224. public void setRouteRecords(DiameterIdentity[] routeRecords);
  225. }