summaryrefslogtreecommitdiffstats
path: root/java/gov/nist/javax/sip/header/extensions/SessionExpires.java
diff options
context:
space:
mode:
Diffstat (limited to 'java/gov/nist/javax/sip/header/extensions/SessionExpires.java')
-rw-r--r--java/gov/nist/javax/sip/header/extensions/SessionExpires.java104
1 files changed, 104 insertions, 0 deletions
diff --git a/java/gov/nist/javax/sip/header/extensions/SessionExpires.java b/java/gov/nist/javax/sip/header/extensions/SessionExpires.java
new file mode 100644
index 0000000..7854acf
--- /dev/null
+++ b/java/gov/nist/javax/sip/header/extensions/SessionExpires.java
@@ -0,0 +1,104 @@
+
+/*******************************************************************************
+* Product of NIST/ITL Advanced Networking Technologies Division (ANTD). *
+*******************************************************************************/
+
+package gov.nist.javax.sip.header.extensions;
+
+import gov.nist.javax.sip.header.ParametersHeader;
+
+import java.text.ParseException;
+
+import javax.sip.InvalidArgumentException;
+import javax.sip.header.ExtensionHeader;
+
+/**
+ * ReferredBy SIP Header.
+ *
+ * @version JAIN-SIP-1.1 $Revision: 1.5 $ $Date: 2009/10/18 13:46:36 $
+ *
+ * @author Peter Musgrave.
+ *
+ */
+public final class SessionExpires
+ extends ParametersHeader implements ExtensionHeader, SessionExpiresHeader {
+
+ // TODO: Need a unique UID
+ private static final long serialVersionUID = 8765762413224043300L;
+
+ // TODO: When the MinSEHeader is added to javax - move this there...pmusgrave
+ public static final String NAME = "Session-Expires";
+
+ public int expires;
+
+ public static final String REFRESHER = "refresher";
+ /** default Constructor.
+ */
+ public SessionExpires() {
+ super(NAME);
+ }
+
+ /**
+ * Gets the expires value of the SessionExpiresHeader. This expires value is
+ * relative time.
+ *
+ *
+ *
+ * @return the expires value of the ExpiresHeader.
+ *
+ * @since JAIN SIP v1.1
+ *
+ */
+ public int getExpires() {
+ return expires;
+ }
+
+ /**
+ * Sets the relative expires value of the SessionExpiresHeader.
+ * The expires value MUST be greater than zero and MUST be
+ * less than 2**31.
+ *
+ * @param expires - the new expires value
+ *
+ * @throws InvalidArgumentException if supplied value is less than zero.
+ *
+ * @since JAIN SIP v1.1
+ *
+ */
+ public void setExpires(int expires) throws InvalidArgumentException {
+ if (expires < 0)
+ throw new InvalidArgumentException("bad argument " + expires);
+ this.expires = expires;
+ }
+
+ public void setValue(String value) throws ParseException {
+ // not implemented.
+ throw new ParseException(value,0);
+
+ }
+
+ /**
+ * Encode the header content into a String.
+ * @return String
+ */
+ protected String encodeBody() {
+
+ String retval = Integer.toString(expires);
+
+ if (!parameters.isEmpty()) {
+ retval += SEMICOLON + parameters.encode();
+ }
+ return retval;
+ }
+
+ public String getRefresher() {
+ return parameters.getParameter(REFRESHER);
+ }
+
+ public void setRefresher(String refresher) {
+ this.parameters.set(REFRESHER,refresher);
+ }
+}
+
+
+