/protocols/smpp/src/main/java/org/mobicents/protocols/smpp/message/CancelBroadcastSM.java
Java | 114 lines | 71 code | 17 blank | 26 comment | 4 complexity | a0ddda52c4becff9ccdbe4b9441574ee 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.Address; 28import org.mobicents.protocols.smpp.util.PacketDecoder; 29import org.mobicents.protocols.smpp.util.PacketEncoder; 30 31/** 32 * Cancel a previously submitted broadcast message. 33 * @version $Id: CancelBroadcastSM.java 457 2009-01-15 17:37:42Z orank $ 34 * @since 0.4.0 35 */ 36public class CancelBroadcastSM extends SMPPPacket { 37 private static final long serialVersionUID = 2L; 38 39 private String serviceType; 40 private String messageId; 41 private Address source; 42 43 public CancelBroadcastSM() { 44 super (CommandId.CANCEL_BROADCAST_SM); 45 } 46 47 public String getMessageId() { 48 return messageId; 49 } 50 51 public void setMessageId(String messageId) { 52 this.messageId = messageId; 53 } 54 55 public String getServiceType() { 56 return serviceType; 57 } 58 59 public void setServiceType(String serviceType) { 60 this.serviceType = serviceType; 61 } 62 63 public Address getSource() { 64 return source; 65 } 66 67 public void setSource(Address source) { 68 this.source = source; 69 } 70 71 @Override 72 public boolean equals(Object obj) { 73 boolean equals = super.equals(obj); 74 if (equals) { 75 CancelBroadcastSM other = (CancelBroadcastSM) obj; 76 equals |= safeCompare(serviceType, other.serviceType); 77 equals |= safeCompare(messageId, other.messageId); 78 equals |= safeCompare(source, other.source); 79 } 80 return equals; 81 } 82 83 @Override 84 public int hashCode() { 85 int hc = super.hashCode(); 86 hc += (serviceType != null) ? serviceType.hashCode() : 0; 87 hc += (messageId != null) ? messageId.hashCode() : 31; 88 hc += (source != null) ? source.hashCode() : 97; 89 return hc; 90 } 91 92 @Override 93 protected void readMandatory(PacketDecoder decoder) { 94 serviceType = decoder.readCString(); 95 messageId = decoder.readCString(); 96 source = decoder.readAddress(); 97 } 98 99 @Override 100 protected void writeMandatory(PacketEncoder encoder) throws IOException { 101 encoder.writeCString(serviceType); 102 encoder.writeCString(messageId); 103 encoder.writeAddress(source); 104 } 105 106 @Override 107 protected int getMandatorySize() { 108 int length = 2; 109 length += sizeOf(serviceType); 110 length += sizeOf(messageId); 111 length += sizeOf(source); 112 return length; 113 } 114}