PageRenderTime 14ms CodeModel.GetById 5ms app.highlight 6ms RepoModel.GetById 2ms app.codeStats 0ms

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

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