/protocols/smpp/src/main/java/org/mobicents/protocols/smpp/message/QueryBroadcastSMResp.java
Java | 96 lines | 56 code | 14 blank | 26 comment | 2 complexity | bf834fa5d5f9f6963c635a5173086e01 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 23package org.mobicents.protocols.smpp.message; 24 25import java.io.IOException; 26 27import org.mobicents.protocols.smpp.message.tlv.TLVTable; 28import org.mobicents.protocols.smpp.message.tlv.Tag; 29import org.mobicents.protocols.smpp.util.PacketDecoder; 30import org.mobicents.protocols.smpp.util.PacketEncoder; 31import org.mobicents.protocols.smpp.version.SMPPVersion; 32 33/** 34 * QueryBroadcastSM response packet. 35 * @version $Id: QueryBroadcastSMResp.java 457 2009-01-15 17:37:42Z orank $ 36 * @since 0.4.0 37 */ 38public class QueryBroadcastSMResp extends SMPPPacket { 39 private static final long serialVersionUID = 2L; 40 41 private String messageId; 42 43 public QueryBroadcastSMResp() { 44 super (CommandId.QUERY_BROADCAST_SM_RESP); 45 } 46 47 public String getMessageId() { 48 return messageId; 49 } 50 51 public void setMessageId(String messageId) { 52 this.messageId = messageId; 53 } 54 55 @Override 56 public boolean equals(Object obj) { 57 boolean equals = super.equals(obj); 58 if (equals) { 59 QueryBroadcastSMResp other = (QueryBroadcastSMResp) obj; 60 equals |= safeCompare(messageId, other.messageId); 61 } 62 return equals; 63 } 64 65 @Override 66 public int hashCode() { 67 int hc = super.hashCode(); 68 hc += (messageId != null) ? messageId.hashCode() : 0; 69 return hc; 70 } 71 72 @Override 73 protected void readMandatory(PacketDecoder decoder) { 74 messageId = decoder.readCString(); 75 } 76 77 @Override 78 protected void writeMandatory(PacketEncoder encoder) throws IOException { 79 encoder.writeCString(messageId); 80 } 81 82 @Override 83 protected boolean validateTLVTable(SMPPVersion smppVersion) { 84 boolean valid = true; 85 TLVTable tlvTable = getTLVTable(); 86 valid &= tlvTable.containsKey(Tag.MESSAGE_STATE); 87 valid &= tlvTable.containsKey(Tag.BROADCAST_AREA_IDENTIFIER); 88 valid &= tlvTable.containsKey(Tag.BROADCAST_AREA_SUCCESS); 89 return valid; 90 } 91 92 @Override 93 protected int getMandatorySize() { 94 return 1 + sizeOf(messageId); 95 } 96}