1 /*******************************************************************************
2 * Product of NIST/ITL Advanced Networking Technologies Division (ANTD).        *
3 *******************************************************************************/
4 /*
5 * This code has been contributed by the author to the public domain.
6 */
7 package gov.nist.javax.sip.header.extensions;
8 
9 import java.text.ParseException;
10 import gov.nist.javax.sip.header.*;
11 
12 import javax.sip.*;
13 import javax.sip.header.ExtensionHeader;
14 
15 /**
16  * MinSE SIP Header.
17  *
18  * (Created by modifying Expires.java)
19  *
20  * @version JAIN-SIP-1.1 $Revision: 1.4 $ $Date: 2009/10/18 13:46:36 $
21  *
22  * @author P. Musgrave <pmusgrave@newheights.com>  <br/>
23  *
24  */
25 public class MinSE
26     extends ParametersHeader implements ExtensionHeader, MinSEHeader {
27 
28     // TODO: When the MinSEHeader is added to javax - move this there...pmusgrave
29     public static final String NAME = "Min-SE";
30 
31     /**
32      * Comment for <code>serialVersionUID</code>
33      */
34     private static final long serialVersionUID = 3134344915465784267L;
35 
36     /** expires field
37      */
38     public int expires;
39 
40     /** default constructor
41      */
MinSE()42     public MinSE() {
43         super(NAME);
44     }
45 
46     /**
47      * Return canonical form.
48      * @return String
49      */
encodeBody()50     public String encodeBody() {
51         String retval = Integer.toString(expires); // seems overkill - but Expires did this.
52 
53         if (!parameters.isEmpty()) {
54             retval += SEMICOLON + parameters.encode();
55         }
56         return retval;
57     }
58 
setValue(String value)59     public void setValue(String value) throws ParseException {
60         // not implemented.
61         throw new ParseException(value,0);
62 
63     }
64 
65     /**
66      * Gets the expires value of the ExpiresHeader. This expires value is
67      *
68      * relative time.
69      *
70      *
71      *
72      * @return the expires value of the ExpiresHeader.
73      *
74      * @since JAIN SIP v1.1
75      *
76      */
getExpires()77     public int getExpires() {
78         return expires;
79     }
80 
81     /**
82      * Sets the relative expires value of the ExpiresHeader.
83      * The expires value MUST be greater than zero and MUST be
84      * less than 2**31.
85      *
86      * @param expires - the new expires value of this ExpiresHeader
87      *
88      * @throws InvalidArgumentException if supplied value is less than zero.
89      *
90      * @since JAIN SIP v1.2
91      *
92      */
setExpires(int expires)93     public void setExpires(int expires) throws InvalidArgumentException {
94         if (expires < 0)
95             throw new InvalidArgumentException("bad argument " + expires);
96         this.expires = expires;
97     }
98 }
99