/protocols/ss7/m3ua/impl/src/main/java/org/mobicents/protocols/ss7/m3ua/impl/message/ssnm/SignallingCongestionImpl.java

http://mobicents.googlecode.com/ · Java · 137 lines · 87 code · 24 blank · 26 comment · 16 complexity · 1d76bc3101310024b84ff8ad9253c772 MD5 · raw file

  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.protocols.ss7.m3ua.impl.message.ssnm;
  23. import java.nio.ByteBuffer;
  24. import org.mobicents.protocols.ss7.m3ua.impl.message.M3UAMessageImpl;
  25. import org.mobicents.protocols.ss7.m3ua.impl.parameter.ParameterImpl;
  26. import org.mobicents.protocols.ss7.m3ua.message.MessageClass;
  27. import org.mobicents.protocols.ss7.m3ua.message.MessageType;
  28. import org.mobicents.protocols.ss7.m3ua.message.ssnm.SignallingCongestion;
  29. import org.mobicents.protocols.ss7.m3ua.parameter.AffectedPointCode;
  30. import org.mobicents.protocols.ss7.m3ua.parameter.ConcernedDPC;
  31. import org.mobicents.protocols.ss7.m3ua.parameter.CongestedIndication;
  32. import org.mobicents.protocols.ss7.m3ua.parameter.InfoString;
  33. import org.mobicents.protocols.ss7.m3ua.parameter.NetworkAppearance;
  34. import org.mobicents.protocols.ss7.m3ua.parameter.Parameter;
  35. import org.mobicents.protocols.ss7.m3ua.parameter.RoutingContext;
  36. /**
  37. *
  38. * @author amit bhayani
  39. *
  40. */
  41. public class SignallingCongestionImpl extends M3UAMessageImpl implements SignallingCongestion {
  42. public SignallingCongestionImpl() {
  43. super(MessageClass.SIGNALING_NETWORK_MANAGEMENT, MessageType.SIGNALING_CONGESTION,
  44. MessageType.S_SIGNALING_CONGESTION);
  45. }
  46. public AffectedPointCode getAffectedPointCodes() {
  47. return (AffectedPointCode) parameters.get(Parameter.Affected_Point_Code);
  48. }
  49. public InfoString getInfoString() {
  50. return (InfoString) parameters.get(Parameter.INFO_String);
  51. }
  52. public NetworkAppearance getNetworkAppearance() {
  53. return (NetworkAppearance) parameters.get(Parameter.Network_Appearance);
  54. }
  55. public RoutingContext getRoutingContexts() {
  56. return (RoutingContext) parameters.get(Parameter.Routing_Context);
  57. }
  58. public void setAffectedPointCodes(AffectedPointCode afpc) {
  59. parameters.put(Parameter.Affected_Point_Code, afpc);
  60. }
  61. public void setInfoString(InfoString str) {
  62. if (str != null) {
  63. parameters.put(Parameter.INFO_String, str);
  64. }
  65. }
  66. public void setNetworkAppearance(NetworkAppearance p) {
  67. if (p != null) {
  68. parameters.put(Parameter.Network_Appearance, p);
  69. }
  70. }
  71. public void setRoutingContexts(RoutingContext routingCntx) {
  72. if (routingCntx != null) {
  73. parameters.put(Parameter.Routing_Context, routingCntx);
  74. }
  75. }
  76. public ConcernedDPC getConcernedDPC() {
  77. return (ConcernedDPC) parameters.get(Parameter.Concerned_Destination);
  78. }
  79. public CongestedIndication getCongestedIndication() {
  80. return (CongestedIndication) parameters.get(Parameter.Congestion_Indications);
  81. }
  82. public void setConcernedDPC(ConcernedDPC dpc) {
  83. if (dpc != null) {
  84. parameters.put(Parameter.Concerned_Destination, dpc);
  85. }
  86. }
  87. public void setCongestedIndication(CongestedIndication congInd) {
  88. if (congInd != null) {
  89. parameters.put(Parameter.Congestion_Indications, congInd);
  90. }
  91. }
  92. @Override
  93. protected void encodeParams(ByteBuffer buffer) {
  94. if (parameters.containsKey(Parameter.Network_Appearance)) {
  95. ((ParameterImpl) parameters.get(Parameter.Network_Appearance)).write(buffer);
  96. }
  97. if (parameters.containsKey(Parameter.Routing_Context)) {
  98. ((ParameterImpl) parameters.get(Parameter.Routing_Context)).write(buffer);
  99. }
  100. if (parameters.containsKey(Parameter.Affected_Point_Code)) {
  101. ((ParameterImpl) parameters.get(Parameter.Affected_Point_Code)).write(buffer);
  102. }
  103. if (parameters.containsKey(Parameter.Concerned_Destination)) {
  104. ((ParameterImpl) parameters.get(Parameter.Concerned_Destination)).write(buffer);
  105. }
  106. if (parameters.containsKey(Parameter.Congestion_Indications)) {
  107. ((ParameterImpl) parameters.get(Parameter.Congestion_Indications)).write(buffer);
  108. }
  109. if (parameters.containsKey(Parameter.INFO_String)) {
  110. ((ParameterImpl) parameters.get(Parameter.INFO_String)).write(buffer);
  111. }
  112. }
  113. }