⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 datasm.java

📁 Logica lastest SMPP API
💻 JAVA
📖 第 1 页 / 共 2 页
字号:
/* * Copyright (c) 1996-2001 * Logica Mobile Networks Limited * All rights reserved. * * This software is distributed under Logica Open Source License Version 1.0 * ("Licence Agreement"). You shall use it and distribute only in accordance * with the terms of the License Agreement. * */package com.logica.smpp.pdu;import com.logica.smpp.Data;import com.logica.smpp.pdu.tlv.TLVByte;import com.logica.smpp.pdu.tlv.TLVEmpty;import com.logica.smpp.pdu.tlv.TLVInt;import com.logica.smpp.pdu.tlv.TLVOctets;import com.logica.smpp.pdu.tlv.TLVShort;import com.logica.smpp.pdu.tlv.TLVString;import com.logica.smpp.pdu.tlv.TLVUByte;import com.logica.smpp.pdu.tlv.WrongLengthException;import com.logica.smpp.util.ByteBuffer;import com.logica.smpp.util.NotEnoughDataInByteBufferException;import com.logica.smpp.util.TerminatingZeroNotFoundException;/** * @author Logica Mobile Networks SMPP Open Source Team * @version 1.2, 31 Oct 2001 *//*  10-10-01 ticp@logica.com max address lengths fixed according smpp spec  31-10-01 ticp@logica.com SAR fields now correctly return values > 127*/public class DataSM extends Request{    // mandatory parameters    private String serviceType              = Data.DFLT_SRVTYPE;    private Address sourceAddr              = new Address(Data.SM_DATA_ADDR_LEN);    private Address destAddr                = new Address(Data.SM_DATA_ADDR_LEN);    private byte esmClass                   = Data.DFLT_ESM_CLASS;    private byte registeredDelivery         = Data.DFLT_REG_DELIVERY;    private byte dataCoding                 = Data.DFLT_DATA_CODING;    // optional parameters    private TLVShort  userMessageReference  = new TLVShort(Data.OPT_PAR_USER_MSG_REF);    private TLVShort  sourcePort            = new TLVShort(Data.OPT_PAR_SRC_PORT);    private TLVByte   sourceAddrSubunit     = new TLVByte(Data.OPT_PAR_SRC_ADDR_SUBUNIT);    private TLVByte   sourceNetworkType     = new TLVByte(Data.OPT_PAR_SRC_NW_TYPE);    private TLVByte   sourceBearerType      = new TLVByte(Data.OPT_PAR_SRC_BEAR_TYPE);    private TLVByte   sourceTelematicsId    = new TLVByte(Data.OPT_PAR_SRC_TELE_ID);    private TLVShort  destinationPort       = new TLVShort(Data.OPT_PAR_DST_PORT);    private TLVByte   destAddrSubunit       = new TLVByte(Data.OPT_PAR_DST_ADDR_SUBUNIT);    private TLVByte   destNetworkType       = new TLVByte(Data.OPT_PAR_DST_NW_TYPE);    private TLVByte   destBearerType        = new TLVByte(Data.OPT_PAR_DST_BEAR_TYPE);    private TLVShort  destTelematicsId      = new TLVShort(Data.OPT_PAR_DST_TELE_ID);    private TLVShort  sarMsgRefNum          = new TLVShort(Data.OPT_PAR_SAR_MSG_REF_NUM);    private TLVUByte  sarTotalSegments      = new TLVUByte(Data.OPT_PAR_SAR_TOT_SEG);    private TLVUByte  sarSegmentSeqnum      = new TLVUByte(Data.OPT_PAR_SAR_SEG_SNUM);    private TLVByte   moreMsgsToSend        = new TLVByte(Data.OPT_PAR_MORE_MSGS);    private TLVInt    qosTimeToLive         = new TLVInt(Data.OPT_PAR_QOS_TIME_TO_LIVE);    private TLVByte   payloadType           = new TLVByte(Data.OPT_PAR_PAYLOAD_TYPE);    private TLVOctets messagePayload        = new TLVOctets(Data.OPT_PAR_MSG_PAYLOAD,Data.OPT_PAR_MSG_PAYLOAD_MIN,Data.OPT_PAR_MSG_PAYLOAD_MAX);    private TLVByte   setDpf                = new TLVByte(Data.OPT_PAR_SET_DPF);    private TLVString receiptedMessageId    = new TLVString(Data.OPT_PAR_RECP_MSG_ID, Data.OPT_PAR_RECP_MSG_ID_MIN, Data.OPT_PAR_RECP_MSG_ID_MAX); // 1-    private TLVByte   messageState          = new TLVByte(Data.OPT_PAR_MSG_STATE);    private TLVOctets networkErrorCode      = new TLVOctets(Data.OPT_PAR_NW_ERR_CODE, Data.OPT_PAR_NW_ERR_CODE_MIN, Data.OPT_PAR_NW_ERR_CODE_MAX); // exactly 3    private TLVByte   privacyIndicator      = new TLVByte(Data.OPT_PAR_PRIV_IND);    private TLVOctets callbackNum           = new TLVOctets(Data.OPT_PAR_CALLBACK_NUM,Data.OPT_PAR_CALLBACK_NUM_MIN,Data.OPT_PAR_CALLBACK_NUM_MAX); // 4-19    private TLVByte   callbackNumPresInd    = new TLVByte(Data.OPT_PAR_CALLBACK_NUM_PRES_IND);    private TLVOctets callbackNumAtag       = new TLVOctets(Data.OPT_PAR_CALLBACK_NUM_ATAG,Data.OPT_PAR_CALLBACK_NUM_ATAG_MIN,Data.OPT_PAR_CALLBACK_NUM_ATAG_MAX); // 1-65    private TLVOctets sourceSubaddress      = new TLVOctets(Data.OPT_PAR_SRC_SUBADDR,Data.OPT_PAR_SRC_SUBADDR_MIN,Data.OPT_PAR_SRC_SUBADDR_MAX); // 2-23     private TLVOctets destSubaddress        = new TLVOctets(Data.OPT_PAR_DEST_SUBADDR,Data.OPT_PAR_DEST_SUBADDR_MIN,Data.OPT_PAR_DEST_SUBADDR_MAX);    private TLVByte   userResponseCode      = new TLVByte(Data.OPT_PAR_USER_RESP_CODE);    private TLVByte   displayTime           = new TLVByte(Data.OPT_PAR_DISPLAY_TIME);    private TLVShort  smsSignal             = new TLVShort(Data.OPT_PAR_SMS_SIGNAL);    private TLVByte   msValidity            = new TLVByte(Data.OPT_PAR_MS_VALIDITY);    private TLVByte   msMsgWaitFacilities   = new TLVByte(Data.OPT_PAR_MSG_WAIT); // bit mask    private TLVByte   numberOfMessages      = new TLVByte(Data.OPT_PAR_NUM_MSGS);    private TLVEmpty  alertOnMsgDelivery    = new TLVEmpty(Data.OPT_PAR_ALERT_ON_MSG_DELIVERY);    private TLVByte   languageIndicator     = new TLVByte(Data.OPT_PAR_LANG_IND);    private TLVByte   itsReplyType          = new TLVByte(Data.OPT_PAR_ITS_REPLY_TYPE);    private TLVShort  itsSessionInfo        = new TLVShort(Data.OPT_PAR_ITS_SESSION_INFO);    public DataSM()    {        super(Data.DATA_SM);        registerOptional(userMessageReference);        registerOptional(sourcePort);        registerOptional(sourceAddrSubunit);        registerOptional(sourceNetworkType);        registerOptional(sourceBearerType);        registerOptional(sourceTelematicsId);        registerOptional(destinationPort);        registerOptional(destAddrSubunit);        registerOptional(destNetworkType);        registerOptional(destBearerType);        registerOptional(destTelematicsId);        registerOptional(sarMsgRefNum);        registerOptional(sarTotalSegments);        registerOptional(sarSegmentSeqnum);        registerOptional(moreMsgsToSend);        registerOptional(qosTimeToLive);        registerOptional(payloadType);        registerOptional(messagePayload);        registerOptional(setDpf);        registerOptional(receiptedMessageId);        registerOptional(messageState);        registerOptional(networkErrorCode);        registerOptional(privacyIndicator);        registerOptional(callbackNum);        registerOptional(callbackNumPresInd);        registerOptional(callbackNumAtag);        registerOptional(sourceSubaddress);        registerOptional(destSubaddress);        registerOptional(userResponseCode);        registerOptional(displayTime);        registerOptional(smsSignal);        registerOptional(msValidity);        registerOptional(msMsgWaitFacilities);        registerOptional(numberOfMessages);        registerOptional(alertOnMsgDelivery);        registerOptional(languageIndicator);        registerOptional(itsReplyType);        registerOptional(itsSessionInfo);}    protected Response createResponse()    {        return new DataSMResp();    }    public void setBody(ByteBuffer buffer)    throws NotEnoughDataInByteBufferException,           TerminatingZeroNotFoundException,           PDUException    {        setServiceType(buffer.removeCString());        sourceAddr.setData(buffer);        destAddr.setData(buffer);        setEsmClass(buffer.removeByte());        setRegisteredDelivery(buffer.removeByte());        setDataCoding(buffer.removeByte());    }    public ByteBuffer getBody()    {	    ByteBuffer buffer = new ByteBuffer();        buffer.appendCString(getServiceType());        buffer.appendBuffer(getSourceAddr().getData());        buffer.appendBuffer(getDestAddr().getData());        buffer.appendByte(getEsmClass());        buffer.appendByte(getRegisteredDelivery());        buffer.appendByte(getDataCoding());	    return buffer;    }    public void setServiceType(String value)    throws WrongLengthOfStringException {        checkCString(value, Data.SM_SRVTYPE_LEN);        serviceType = value;    }        public void setSourceAddr(Address value)          { sourceAddr = value; }    public void setSourceAddr(String address)    throws WrongLengthOfStringException {        setSourceAddr(new Address(address));    }    public void setSourceAddr(byte ton, byte npi, String address)    throws WrongLengthOfStringException {        setSourceAddr(new Address(ton, npi, address));    }        public void setDestAddr(Address value)            { destAddr = value; }    public void setDestAddr(String address)    throws WrongLengthOfStringException {        setDestAddr(new Address(address));    }    public void setDestAddr(byte ton, byte npi, String address)    throws WrongLengthOfStringException {        setDestAddr(new Address(ton, npi, address));    }    public void setEsmClass(byte value)               { esmClass = value; }    public void setRegisteredDelivery(byte value)     { registeredDelivery = value; }    public void setDataCoding(byte value)             { dataCoding = value; }    public String getServiceType()          { return serviceType; }    public Address getSourceAddr()          { return sourceAddr; }    public Address getDestAddr()            { return destAddr; }    public byte getEsmClass()               { return esmClass; }    public byte getRegisteredDelivery()     { return registeredDelivery; }    public byte getDataCoding()             { return dataCoding; }    public boolean hasUserMessageReference()   { return userMessageReference.hasValue(); }    public boolean hasSourcePort()             { return sourcePort.hasValue(); }    public boolean hasSourceAddrSubunit()      { return sourceAddrSubunit.hasValue(); }    public boolean hasSourceNetworkType()      { return sourceNetworkType.hasValue(); }    public boolean hasSourceBearerType()       { return sourceBearerType.hasValue(); }    public boolean hasSourceTelematicsId()     { return sourceTelematicsId.hasValue(); }    public boolean hasDestinationPort()        { return destinationPort.hasValue(); }    public boolean hasDestAddrSubunit()        { return destAddrSubunit.hasValue(); }

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -