PageRenderTime 40ms CodeModel.GetById 25ms RepoModel.GetById 1ms app.codeStats 0ms

/protocols/ss7/m3ua/impl/src/main/java/org/mobicents/protocols/ss7/m3ua/impl/parameter/ParameterFactoryImpl.java

http://mobicents.googlecode.com/
Java | 249 lines | 194 code | 30 blank | 25 comment | 1 complexity | 67a6f79dd4c46d3f2a67c3f6df69c2e5 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.protocols.ss7.m3ua.impl.parameter;
  23. import org.mobicents.protocols.ss7.m3ua.parameter.ASPIdentifier;
  24. import org.mobicents.protocols.ss7.m3ua.parameter.AffectedPointCode;
  25. import org.mobicents.protocols.ss7.m3ua.parameter.ConcernedDPC;
  26. import org.mobicents.protocols.ss7.m3ua.parameter.CongestedIndication;
  27. import org.mobicents.protocols.ss7.m3ua.parameter.CongestedIndication.CongestionLevel;
  28. import org.mobicents.protocols.ss7.m3ua.parameter.CorrelationId;
  29. import org.mobicents.protocols.ss7.m3ua.parameter.DeregistrationResult;
  30. import org.mobicents.protocols.ss7.m3ua.parameter.DeregistrationStatus;
  31. import org.mobicents.protocols.ss7.m3ua.parameter.DestinationPointCode;
  32. import org.mobicents.protocols.ss7.m3ua.parameter.DiagnosticInfo;
  33. import org.mobicents.protocols.ss7.m3ua.parameter.ErrorCode;
  34. import org.mobicents.protocols.ss7.m3ua.parameter.HeartbeatData;
  35. import org.mobicents.protocols.ss7.m3ua.parameter.InfoString;
  36. import org.mobicents.protocols.ss7.m3ua.parameter.LocalRKIdentifier;
  37. import org.mobicents.protocols.ss7.m3ua.parameter.NetworkAppearance;
  38. import org.mobicents.protocols.ss7.m3ua.parameter.OPCList;
  39. import org.mobicents.protocols.ss7.m3ua.parameter.Parameter;
  40. import org.mobicents.protocols.ss7.m3ua.parameter.ParameterFactory;
  41. import org.mobicents.protocols.ss7.m3ua.parameter.ProtocolData;
  42. import org.mobicents.protocols.ss7.m3ua.parameter.RegistrationResult;
  43. import org.mobicents.protocols.ss7.m3ua.parameter.RegistrationStatus;
  44. import org.mobicents.protocols.ss7.m3ua.parameter.RoutingContext;
  45. import org.mobicents.protocols.ss7.m3ua.parameter.RoutingKey;
  46. import org.mobicents.protocols.ss7.m3ua.parameter.ServiceIndicators;
  47. import org.mobicents.protocols.ss7.m3ua.parameter.Status;
  48. import org.mobicents.protocols.ss7.m3ua.parameter.TrafficModeType;
  49. import org.mobicents.protocols.ss7.m3ua.parameter.UserCause;
  50. import org.mobicents.protocols.ss7.mtp.Mtp3TransferPrimitive;
  51. /**
  52. *
  53. * @author kulikov
  54. */
  55. public class ParameterFactoryImpl implements ParameterFactory {
  56. public ProtocolData createProtocolData(int opc, int dpc, int si, int ni, int mp, int sls, byte[] data) {
  57. return new ProtocolDataImpl(opc, dpc, si, ni, mp, sls, data);
  58. }
  59. public ProtocolData createProtocolData(byte[] payloadData) {
  60. ProtocolDataImpl p = new ProtocolDataImpl(payloadData);
  61. return p;
  62. }
  63. public ProtocolData createProtocolData(Mtp3TransferPrimitive mtp3TransferPrimitive) {
  64. ProtocolDataImpl p = new ProtocolDataImpl(mtp3TransferPrimitive);
  65. return p;
  66. }
  67. public NetworkAppearance createNetworkAppearance(long netApp) {
  68. return new NetworkAppearanceImpl(netApp);
  69. }
  70. public RoutingContext createRoutingContext(long[] routCntx) {
  71. return new RoutingContextImpl(routCntx);
  72. }
  73. public CorrelationId createCorrelationId(long corrId) {
  74. return new CorrelationIdImpl(corrId);
  75. }
  76. public AffectedPointCode createAffectedPointCode(int[] pc, short[] mask) {
  77. return new AffectedPointCodeImpl(pc, mask);
  78. }
  79. public DestinationPointCode createDestinationPointCode(int pc, short mask) {
  80. return new DestinationPointCodeImpl(pc, mask);
  81. }
  82. public InfoString createInfoString(String string) {
  83. return new InfoStringImpl(string);
  84. }
  85. public ConcernedDPC createConcernedDPC(int pointCode) {
  86. return new ConcernedDPCImpl(pointCode);
  87. }
  88. public CongestedIndication createCongestedIndication(CongestionLevel level) {
  89. return new CongestedIndicationImpl(level);
  90. }
  91. public UserCause createUserCause(int user, int cause) {
  92. return new UserCauseImpl(user, cause);
  93. }
  94. public ASPIdentifier createASPIdentifier(long aspId) {
  95. return new ASPIdentifierImpl(aspId);
  96. }
  97. public LocalRKIdentifier createLocalRKIdentifier(long id) {
  98. return new LocalRKIdentifierImpl(id);
  99. }
  100. public OPCList createOPCList(int[] pc, short[] mask) {
  101. return new OPCListImpl(pc, mask);
  102. }
  103. public ServiceIndicators createServiceIndicators(short[] inds) {
  104. return new ServiceIndicatorsImpl(inds);
  105. }
  106. public TrafficModeType createTrafficModeType(int mode) {
  107. return new TrafficModeTypeImpl(mode);
  108. }
  109. public RegistrationStatus createRegistrationStatus(int status) {
  110. return new RegistrationStatusImpl(status);
  111. }
  112. public DiagnosticInfo createDiagnosticInfo(String info) {
  113. return new DiagnosticInfoImpl(info);
  114. }
  115. public RoutingKey createRoutingKey(LocalRKIdentifier localRkId, RoutingContext rc, TrafficModeType trafMdTy,
  116. NetworkAppearance netApp, DestinationPointCode[] dpc, ServiceIndicators[] servInds, OPCList[] opcList) {
  117. return new RoutingKeyImpl(localRkId, rc, trafMdTy, netApp, dpc, servInds, opcList);
  118. }
  119. public RegistrationResult createRegistrationResult(LocalRKIdentifier localRkId, RegistrationStatus status,
  120. RoutingContext rc) {
  121. return new RegistrationResultImpl(localRkId, status, rc);
  122. }
  123. public DeregistrationStatus createDeregistrationStatus(int status) {
  124. return new DeregistrationStatusImpl(status);
  125. }
  126. public DeregistrationResult createDeregistrationResult(RoutingContext rc, DeregistrationStatus status) {
  127. return new DeregistrationResultImpl(rc, status);
  128. }
  129. public ErrorCode createErrorCode(int code) {
  130. return new ErrorCodeImpl(code);
  131. }
  132. public Status createStatus(int type, int info) {
  133. return new StatusImpl(type, info);
  134. }
  135. public HeartbeatData createHeartbeatData(byte[] data){
  136. return new HeartbeatDataImpl(data);
  137. }
  138. public Parameter createParameter(int tag, byte[] value) {
  139. ParameterImpl p = null;
  140. switch (tag) {
  141. case ParameterImpl.Protocol_Data:
  142. p = new ProtocolDataImpl(value);
  143. break;
  144. case ParameterImpl.Traffic_Mode_Type:
  145. p = new TrafficModeTypeImpl(value);
  146. break;
  147. case ParameterImpl.Network_Appearance:
  148. p = new NetworkAppearanceImpl(value);
  149. break;
  150. case ParameterImpl.Routing_Context:
  151. p = new RoutingContextImpl(value);
  152. break;
  153. case ParameterImpl.Correlation_ID:
  154. p = new CorrelationIdImpl(value);
  155. break;
  156. case ParameterImpl.Affected_Point_Code:
  157. p = new AffectedPointCodeImpl(value);
  158. break;
  159. case ParameterImpl.Originating_Point_Code_List:
  160. p = new OPCListImpl(value);
  161. break;
  162. case ParameterImpl.Destination_Point_Code:
  163. p = new DestinationPointCodeImpl(value);
  164. break;
  165. case ParameterImpl.INFO_String:
  166. p = new InfoStringImpl(value);
  167. break;
  168. case ParameterImpl.Concerned_Destination:
  169. p = new ConcernedDPCImpl(value);
  170. break;
  171. case ParameterImpl.Congestion_Indications:
  172. p = new CongestedIndicationImpl(value);
  173. break;
  174. case ParameterImpl.User_Cause:
  175. p = new UserCauseImpl(value);
  176. break;
  177. case ParameterImpl.ASP_Identifier:
  178. p = new ASPIdentifierImpl(value);
  179. break;
  180. case ParameterImpl.Local_Routing_Key_Identifier:
  181. p = new LocalRKIdentifierImpl(value);
  182. break;
  183. case ParameterImpl.Service_Indicators:
  184. p = new ServiceIndicatorsImpl(value);
  185. break;
  186. case ParameterImpl.Routing_Key:
  187. p = new RoutingKeyImpl(value);
  188. break;
  189. case ParameterImpl.Registration_Status:
  190. p = new RegistrationStatusImpl(value);
  191. break;
  192. case ParameterImpl.Registration_Result:
  193. p = new RegistrationResultImpl(value);
  194. break;
  195. case ParameterImpl.Deregistration_Status:
  196. p = new DeregistrationStatusImpl(value);
  197. break;
  198. case ParameterImpl.Deregistration_Result:
  199. p = new DeregistrationResultImpl(value);
  200. break;
  201. case ParameterImpl.Diagnostic_Information:
  202. p = new DiagnosticInfoImpl(value);
  203. break;
  204. case ParameterImpl.Error_Code:
  205. p = new ErrorCodeImpl(value);
  206. break;
  207. case ParameterImpl.Status:
  208. p = new StatusImpl(value);
  209. break;
  210. case ParameterImpl.Heartbeat_Data:
  211. p = new HeartbeatDataImpl(value);
  212. break;
  213. default:
  214. p = new UnknownParameterImpl(tag, value.length, value);
  215. break;
  216. }
  217. return p;
  218. }
  219. }