PageRenderTime 25ms CodeModel.GetById 18ms app.highlight 4ms RepoModel.GetById 1ms app.codeStats 0ms

/protocols/smpp/src/main/java/org/mobicents/protocols/smpp/message/CancelBroadcastSM.java

http://mobicents.googlecode.com/
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}