ie.omk.smpp.util.PacketFactory Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of smppapi Show documentation
Show all versions of smppapi Show documentation
Java Implementation of the Short Message Peer to Peer API.
The newest version!
package ie.omk.smpp.util;
import ie.omk.smpp.BadCommandIDException;
import ie.omk.smpp.message.AlertNotification;
import ie.omk.smpp.message.BindReceiver;
import ie.omk.smpp.message.BindReceiverResp;
import ie.omk.smpp.message.BindTransceiver;
import ie.omk.smpp.message.BindTransceiverResp;
import ie.omk.smpp.message.BindTransmitter;
import ie.omk.smpp.message.BindTransmitterResp;
import ie.omk.smpp.message.CancelSM;
import ie.omk.smpp.message.CancelSMResp;
import ie.omk.smpp.message.DataSM;
import ie.omk.smpp.message.DataSMResp;
import ie.omk.smpp.message.DeliverSM;
import ie.omk.smpp.message.DeliverSMResp;
import ie.omk.smpp.message.EnquireLink;
import ie.omk.smpp.message.EnquireLinkResp;
import ie.omk.smpp.message.GenericNack;
import ie.omk.smpp.message.ParamRetrieve;
import ie.omk.smpp.message.ParamRetrieveResp;
import ie.omk.smpp.message.QueryLastMsgs;
import ie.omk.smpp.message.QueryLastMsgsResp;
import ie.omk.smpp.message.QueryMsgDetails;
import ie.omk.smpp.message.QueryMsgDetailsResp;
import ie.omk.smpp.message.QuerySM;
import ie.omk.smpp.message.QuerySMResp;
import ie.omk.smpp.message.ReplaceSM;
import ie.omk.smpp.message.ReplaceSMResp;
import ie.omk.smpp.message.SMPPPacket;
import ie.omk.smpp.message.SubmitMulti;
import ie.omk.smpp.message.SubmitMultiResp;
import ie.omk.smpp.message.SubmitSM;
import ie.omk.smpp.message.SubmitSMResp;
import ie.omk.smpp.message.Unbind;
import ie.omk.smpp.message.UnbindResp;
/**
* Helper class to create new SMPP packet objects.
*
* @since 1.0
* @author Oran Kelly
*/
public final class PacketFactory {
private PacketFactory() {
}
/**
* Create a new instance of the appropriate sub class of SMPPPacket.
*
* @deprecated
*/
public static SMPPPacket newPacket(int id) throws BadCommandIDException {
return newInstance(id);
}
/**
* Create a new instance of the appropriate sub class of SMPPPacket. Packet
* fields are all left at their default initial state.
*
* @param id
* The SMPP command ID of the packet type to return.
* @return A sub-class instance of {@link ie.omk.smpp.message.SMPPPacket}
* representing SMPP command id
.
* @throws ie.omk.smpp.BadCommandIDException
* if the command ID is not recognized.
*/
public static SMPPPacket newInstance(int id) throws BadCommandIDException {
SMPPPacket response = null;
switch (id) {
case SMPPPacket.GENERIC_NACK:
response = new GenericNack();
break;
case SMPPPacket.BIND_RECEIVER:
response = new BindReceiver();
break;
case SMPPPacket.BIND_RECEIVER_RESP:
response = new BindReceiverResp();
break;
case SMPPPacket.BIND_TRANSMITTER:
response = new BindTransmitter();
break;
case SMPPPacket.BIND_TRANSMITTER_RESP:
response = new BindTransmitterResp();
break;
case SMPPPacket.BIND_TRANSCEIVER:
response = new BindTransceiver();
break;
case SMPPPacket.BIND_TRANSCEIVER_RESP:
response = new BindTransceiverResp();
break;
case SMPPPacket.UNBIND:
response = new Unbind();
break;
case SMPPPacket.UNBIND_RESP:
response = new UnbindResp();
break;
case SMPPPacket.SUBMIT_SM:
response = new SubmitSM();
break;
case SMPPPacket.SUBMIT_SM_RESP:
response = new SubmitSMResp();
break;
case SMPPPacket.DATA_SM:
response = new DataSM();
break;
case SMPPPacket.DATA_SM_RESP:
response = new DataSMResp();
break;
case SMPPPacket.ALERT_NOTIFICATION:
response = new AlertNotification();
break;
case SMPPPacket.SUBMIT_MULTI:
response = new SubmitMulti();
break;
case SMPPPacket.SUBMIT_MULTI_RESP:
response = new SubmitMultiResp();
break;
case SMPPPacket.DELIVER_SM:
response = new DeliverSM();
break;
case SMPPPacket.DELIVER_SM_RESP:
response = new DeliverSMResp();
break;
case SMPPPacket.QUERY_SM:
response = new QuerySM();
break;
case SMPPPacket.QUERY_SM_RESP:
response = new QuerySMResp();
break;
case SMPPPacket.QUERY_LAST_MSGS:
response = new QueryLastMsgs();
break;
case SMPPPacket.QUERY_LAST_MSGS_RESP:
response = new QueryLastMsgsResp();
break;
case SMPPPacket.QUERY_MSG_DETAILS:
response = new QueryMsgDetails();
break;
case SMPPPacket.QUERY_MSG_DETAILS_RESP:
response = new QueryMsgDetailsResp();
break;
case SMPPPacket.CANCEL_SM:
response = new CancelSM();
break;
case SMPPPacket.CANCEL_SM_RESP:
response = new CancelSMResp();
break;
case SMPPPacket.REPLACE_SM:
response = new ReplaceSM();
break;
case SMPPPacket.REPLACE_SM_RESP:
response = new ReplaceSMResp();
break;
case SMPPPacket.ENQUIRE_LINK:
response = new EnquireLink();
break;
case SMPPPacket.ENQUIRE_LINK_RESP:
response = new EnquireLinkResp();
break;
case SMPPPacket.PARAM_RETRIEVE:
response = new ParamRetrieve();
break;
case SMPPPacket.PARAM_RETRIEVE_RESP:
response = new ParamRetrieveResp();
break;
default:
throw new BadCommandIDException();
}
return response;
}
}