📄 smppencoder.java
字号:
package projectsmpp;public class SmppEncoder extends Encoder{ public SmppEncoder() { }//--------------------------------------------------------------------//对消息头进行编码//--------------------------------------------------------------------- public void smppHeader(SmppHeader smppheader) throws encoderException { String s = null; try { if(smppheader == null) { throw new encoderException("missing.smppHeader."); } else { s = "command_length."; int32(smppheader.command_length); s = "command_id."; int32(smppheader.command_id); s = "command_status."; int32(smppheader.command_status); s = "sequence_no."; int32(smppheader.sequence_no); return; } } catch(encoderException encoderexception) { if(s != null) throw new encoderException(encoderexception + s); else throw encoderexception; } }//--------------------------------------------------------------------//对请求连接命令进行编码//-------------------------------------------------------------------- public void bind(Bind binding)throws encoderException { String s=null; try { if(binding == null) { throw new encoderException("missing.binding."); } else { s = "system_id."; if(binding.system_id != null) asciiz(binding.system_id, 16); else int8(0); s = "password."; if(binding.password != null) asciiz(binding.password, 9); else int8(0); s = "system_type."; if(binding.system_type != null) asciiz(binding.system_type, 13); else int8(0); s = "interface_version."; int8(binding.interface_version); s = "addr_ton."; int8(binding.addr_ton); s = "addr_npi."; int8(binding.addr_npi); s = "address_range."; if(binding.address_range!= null) { asciiz(binding.address_range, 41); return; } else { int8(0); return; } } } catch(encoderException encoderexception) { if(s != null) throw new encoderException(encoderexception + s); else throw encoderexception; } }//---------------------------------------------------------------------//对发送短信命令进行编码//---------------------------------------------------------------------- public void submit(Submit submiting)throws encoderException { String s=null; try { if(submiting == null) { throw new encoderException("missing.submiting."); } else { s = "service_type."; if(submiting.service_type != null) asciiz(submiting.service_type, 16); else int8(0); s = "source_address_ton."; int8(submiting.source_address_ton); s = "source_address_npi."; int8(submiting.source_address_npi); s="source_address."; if(submiting.source_address != null) asciiz(submiting.source_address,21); else int8(0); s="dest_address_ton."; int8(submiting.dest_address_ton); s="dest_address_npi."; int8(submiting.dest_address_npi); s="destination_address."; if(submiting.destination_address!= null) asciiz(submiting.destination_address,21); else int8(0); s="esm_class."; int8(submiting.esm_class); s="protocol_id."; int8(submiting.protocol_id); s="priority_flag."; int8(submiting.priority_flag); s="schedule_delivery_time."; UTC(submiting.schedule_delivery_time); s="validaty_period."; UTC(submiting.validaty_period); s="registered_delivery_flag."; int8(submiting.registered_delivery_flag); s="replace_if_present_flag."; int8(submiting.replace_if_present_flag); s="data_coding."; int8(submiting.data_coding); s="sm_default_msg_id."; int8(submiting.sm_default_msg_id); s="sm_length."; int8(submiting.sm_length); s = "short_message_text."; if(submiting.short_message_text!=null) { asciiz(submiting.short_message_text,160); return; } else { int8(0); return; } } } catch(encoderException encoderexception) { if(s != null) throw new encoderException(encoderexception + s); else throw encoderexception; } }//-------------------------------------------------------------------//对增加用户的命令进行编码//-------------------------------------------------------------------- public void addUser(AddUser addUser) throws encoderException { String s=null; try{ if(addUser == null) { throw new encoderException("missing.addUser."); } else { s="sub_id."; if(addUser.sub_id!=null) asciiz(addUser.sub_id,21); else int8(0); s="sub_name."; if(addUser.sub_name!=null) asciiz(addUser.sub_name,21); else int8(0); s="sub_address."; if(addUser.sub_address!=null) asciiz(addUser.sub_address,42); else int8(0); s="ms_type."; int8(addUser.ms_type); s="ton."; int8(addUser.ton); s="npi."; int8(addUser.npi); s="sm_allowed."; int8(addUser.sm_allowed); s="OCOS."; int8(addUser.OCOS); s="TCOS."; int8(addUser.TCOS); s="password."; if(addUser.password!=null) { asciiz(addUser.password,9); return; } else {int8(0);return;} /* s="psnumber."; if(addUser.psnumber!=null) { asciiz(addUser.psnumber,21); return; } else {int8(0);return;}*/ } } catch(encoderException encoderexception) { if(s != null) throw new encoderException(encoderexception + s); else throw encoderexception; } } //-------------------------------------------------------------------- //对删除用户命令进行编码 //------------------------------------------------------------------- public void delUser(DelUser delUser) throws encoderException { String s=null; try{ if(delUser==null) {throw new encoderException("missing.delUser.");} else { s="ton."; int8(delUser.ton); s="npi."; int8(delUser.npi); s="sub_id."; if(delUser.sub_id!=null) { asciiz(delUser.sub_id,21); return; } else { int8(0); return; } } } catch(encoderException encoderexception) { if(s != null) throw new encoderException(encoderexception + s); else throw encoderexception; } } //------------------------------------------------------------------ //对查询用户信息命令进行编码 //------------------------------------------------------------------ public void enquireUser(EnquireUser enquireUser) throws encoderException { String s=null; try{ if( enquireUser==null) {throw new encoderException("missing.delUser.");} else { s="ton."; int8( enquireUser.ton); s="npi."; int8( enquireUser.npi); s="sub_id."; if( enquireUser.sub_id!=null) { asciiz( enquireUser.sub_id,21); return; } else { int8(0); return; } } } catch(encoderException encoderexception) { if(s != null) throw new encoderException(encoderexception + s); else throw encoderexception; } }//--------------------------------------------------------------------- //对查询短消息命令进行编码//--------------------------------------------------------------------- public void enquireSm(EnquireSm enquireSm) throws encoderException { String s=null; try{ if( enquireSm==null) {throw new encoderException("missing.delUser.");} else { s="message_id."; if(enquireSm.message_id!=null) asciiz(enquireSm.message_id,9); else int8(0); s="ton."; int8(enquireSm.ton); s="npi."; int8(enquireSm.npi); s="address."; if(enquireSm.address!=null) { asciiz(enquireSm.address,21); return; } else { int8(0); return; } } } catch(encoderException encoderexception) { if(s != null) throw new encoderException(encoderexception + s); else throw encoderexception; } }//--------------------------------------------------------------------- //对删除消息的命令进行编码//--------------------------------------------------------------------- public void cancelSm(CancelSm cancelSm) throws encoderException { String s=null; if(cancelSm==null) throw new encoderException("missing cancelSm"); else { s="service_type."; if(cancelSm.service_type!=null) asciiz(cancelSm.service_type,6); else int8(0); s="message_id."; if(cancelSm.message_id!=null) asciiz(cancelSm.message_id,9); else int8(0); s="source_address_ton."; int8(cancelSm.source_address_ton); s="source_address_npi."; int8(cancelSm.source_address_npi); s="source_address."; if(cancelSm.source_address!=null) asciiz(cancelSm.source_address,21); else int8(0); s="desti_address_ton."; int8(cancelSm.desti_address_ton); s="desti_address_npi."; int8(cancelSm.desti_address_npi); s="destination_address."; if(cancelSm.destination_address!=null) asciiz(cancelSm.destination_address,21); else int8(0); } }//------------------------------------------------------------------- //对deliver_sm的响应进行编码//---------------------------------------------------------------------- public void deliverSmResp(DeliverSmResp deliverSmResp) throws encoderException { String s=null; try{ if(deliverSmResp==null) throw new encoderException("missing deliverSmResp"); else { s="message_id."; asciiz(deliverSmResp.message_id,9); return; } } catch(encoderException encoderexception) { if(s != null) throw new encoderException(encoderexception + s); else throw encoderexception; } }}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -