PageRenderTime 25ms CodeModel.GetById 17ms app.highlight 5ms RepoModel.GetById 1ms app.codeStats 0ms

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

http://mobicents.googlecode.com/
Java | 108 lines | 56 code | 18 blank | 34 comment | 2 complexity | 28e8971ef359743d58fadecd2d377a41 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
 25
 26import java.io.IOException;
 27
 28import org.mobicents.protocols.smpp.util.PacketDecoder;
 29import org.mobicents.protocols.smpp.util.PacketEncoder;
 30import org.mobicents.protocols.smpp.version.SMPPVersion;
 31
 32
 33/**
 34 * ESME response to a Deliver message request.
 35 * 
 36 * @version $Id: DeliverSMResp.java 457 2009-01-15 17:37:42Z orank $
 37 */
 38public class DeliverSMResp extends SMPPPacket {
 39    private static final long serialVersionUID = 2L;
 40
 41    private String messageId;
 42    
 43    /**
 44     * Construct a new DeliverSMResp.
 45     */
 46    public DeliverSMResp() {
 47        super(CommandId.DELIVER_SM_RESP);
 48    }
 49
 50    /**
 51     * Create a new DeliverSMResp packet in response to a DeliverSM. This
 52     * constructor will set the sequence number to it's expected value.
 53     * @param request The Request packet the response is to
 54     */
 55    public DeliverSMResp(SMPPPacket request) {
 56        super(request);
 57    }
 58
 59    public String getMessageId() {
 60        return messageId;
 61    }
 62
 63    public void setMessageId(String messageId) {
 64        this.messageId = messageId;
 65    }
 66
 67    @Override
 68    public boolean equals(Object obj) {
 69        boolean equals = super.equals(obj);
 70        if (equals) {
 71            DeliverSMResp other = (DeliverSMResp) obj;
 72            equals |= safeCompare(messageId, other.messageId);
 73        }
 74        return equals;
 75    }
 76    
 77    @Override
 78    public int hashCode() {
 79        int hc = super.hashCode();
 80        hc += (messageId != null) ? messageId.hashCode() : 0;
 81        return hc;
 82    }
 83
 84    @Override
 85    protected void toString(StringBuilder buffer) {
 86        buffer.append("messageId=").append(messageId);
 87    }
 88
 89    @Override
 90    protected void validateMandatory(SMPPVersion smppVersion) {
 91        smppVersion.validateMessageId(messageId);
 92    }
 93
 94    @Override
 95    protected void readMandatory(PacketDecoder decoder) {
 96        messageId = decoder.readCString();
 97    }
 98    
 99    @Override
100    protected void writeMandatory(PacketEncoder encoder) throws IOException {
101        encoder.writeCString(messageId);
102    }
103    
104    @Override
105    protected int getMandatorySize() {
106        return 1 + sizeOf(messageId);
107    }
108}