Package gov.nist.javax.sip.header

Source Code of gov.nist.javax.sip.header.RAck

/*
* Conditions Of Use
*
* This software was developed by employees of the National Institute of
* Standards and Technology (NIST), an agency of the Federal Government.
* Pursuant to title 15 Untied States Code Section 105, works of NIST
* employees are not subject to copyright protection in the United States
* and are considered to be in the public domain.  As a result, a formal
* license is not needed to use the software.
*
* This software is provided by NIST as a service and is expressly
* provided "AS IS."  NIST MAKES NO WARRANTY OF ANY KIND, EXPRESS, IMPLIED
* OR STATUTORY, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTY OF
* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, NON-INFRINGEMENT
* AND DATA ACCURACY.  NIST does not warrant or make any representations
* regarding the use of the software or the results thereof, including but
* not limited to the correctness, accuracy, reliability or usefulness of
* the software.
*
* Permission to use this software is contingent upon your acceptance
* of the terms of this agreement
*
* .
*
*/
/*******************************************************************************
* Product of NIST/ITL Advanced Networking Technologies Division (ANTD).        *
*******************************************************************************/
package gov.nist.javax.sip.header;

import javax.sip.InvalidArgumentException;
import java.text.ParseException;

/**
* RAck SIP Header implementation
*
* @version 1.2 $Revision: 1.7 $ $Date: 2009-07-17 18:57:34 $
*
* @author M. Ranganathan <br/>
*
*
*/
public class RAck extends SIPHeader implements javax.sip.header.RAckHeader {

    /**
     * Comment for <code>serialVersionUID</code>
     */
    private static final long serialVersionUID = 743999286077404118L;

    protected long cSeqNumber;

    protected long rSeqNumber;

    protected String method;

    /** Creates a new instance of RAck */
    public RAck() {
        super(NAME);
    }

    /**
     * Encode the body of this header (the stuff that follows headerName). A.K.A
     * headerValue.
     *
     */
    protected String encodeBody() {
        // Bug reported by Bruno Konik - was encoded in
        // the wrong order.
        return new StringBuffer().append(rSeqNumber).append(SP).append(
                cSeqNumber).append(SP).append(method).toString();

    }

    /**
     * Gets the CSeq sequence number of this RAckHeader.
     *
     * @deprecated
     * @return the integer value of the cSeq number of the RAckHeader
     */
    public int getCSeqNumber() {
        return (int) cSeqNumber;
    }

    /**
     * Gets the CSeq sequence number of this RAckHeader.
     *
     * @return the integer value of the cSeq number of the RAckHeader
     */
    public long getCSeqNumberLong() {
        return cSeqNumber;
    }

    /**
     * Gets the method of RAckHeader
     *
     * @return method of RAckHeader
     */
    public String getMethod() {
        return this.method;
    }

    /**
     * Gets the RSeq sequence number of this RAckHeader.
     *
     * @deprecated
     * @return the integer value of the RSeq number of the RAckHeader
     */
    public int getRSeqNumber() {
        return (int) rSeqNumber;
    }

    /**
     * @deprecated
     * @see javax.sip.header.RAckHeader#setCSeqNumber(int)
     */
    public void setCSeqNumber(int cSeqNumber) throws InvalidArgumentException {
        this.setCSequenceNumber(cSeqNumber);
    }

    public void setMethod(String method) throws ParseException {
        this.method = method;
    }


    public long getCSequenceNumber() {
        return this.cSeqNumber;
    }

    public long getRSequenceNumber() {
        return this.rSeqNumber;
    }

    public void setCSequenceNumber(long cSeqNumber)
            throws InvalidArgumentException {
        if (cSeqNumber <= 0 || cSeqNumber > ((long) 1) << 32 - 1)
            throw new InvalidArgumentException("Bad CSeq # " + cSeqNumber);
        this.cSeqNumber = cSeqNumber;

    }

    /**
     *@deprecated
     * @see javax.sip.header.RAckHeader#setRSeqNumber(int)
     */
    public void setRSeqNumber(int rSeqNumber) throws InvalidArgumentException {
        this.setRSequenceNumber(rSeqNumber);
    }


    public void setRSequenceNumber(long rSeqNumber)
            throws InvalidArgumentException {
        if (rSeqNumber <= 0 || cSeqNumber > ((long) 1) << 32 - 1)
            throw new InvalidArgumentException("Bad rSeq # " + rSeqNumber);
        this.rSeqNumber = rSeqNumber;
    }
}
TOP

Related Classes of gov.nist.javax.sip.header.RAck

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.