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