1/* 2* Conditions Of Use 3* 4* This software was developed by employees of the National Institute of 5* Standards and Technology (NIST), an agency of the Federal Government. 6* Pursuant to title 15 Untied States Code Section 105, works of NIST 7* employees are not subject to copyright protection in the United States 8* and are considered to be in the public domain. As a result, a formal 9* license is not needed to use the software. 10* 11* This software is provided by NIST as a service and is expressly 12* provided "AS IS." NIST MAKES NO WARRANTY OF ANY KIND, EXPRESS, IMPLIED 13* OR STATUTORY, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTY OF 14* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, NON-INFRINGEMENT 15* AND DATA ACCURACY. NIST does not warrant or make any representations 16* regarding the use of the software or the results thereof, including but 17* not limited to the correctness, accuracy, reliability or usefulness of 18* the software. 19* 20* Permission to use this software is contingent upon your acceptance 21* of the terms of this agreement 22* 23* . 24* 25*/ 26/***************************************************************************** 27 * PRODUCT OF PT INOVACAO - EST DEPARTMENT and Aveiro University - Portugal) * 28 *****************************************************************************/ 29 30 31 32 33package gov.nist.javax.sip.header.ims; 34 35import java.text.ParseException; 36 37import javax.sip.header.ExtensionHeader; 38import javax.sip.header.Parameters; 39 40import gov.nist.core.NameValueList; 41import gov.nist.javax.sip.header.SIPHeader; 42 43/** 44 * Privacy SIP header - RFC 3323. 45 * 46 * @author Miguel Freitas (IT) PT-Inovacao 47 */ 48 49 50public class Privacy 51 extends SIPHeader 52 implements PrivacyHeader, SIPHeaderNamesIms, ExtensionHeader 53{ 54 55 /** 56 * Privacy type 57 */ 58 private String privacy; 59 60 61 /** 62 * Default constructor. 63 */ 64 public Privacy() { 65 super(PRIVACY); 66 } 67 68 /** 69 * Constructor given a privacy type 70 *@param privacy 71 */ 72 public Privacy(String privacy) 73 { 74 this(); 75 this.privacy = privacy; 76 77 } 78 79 80 /** 81 * Encode into a canonical string. 82 * @return String. 83 */ 84 public String encodeBody() 85 { 86 return this.privacy; 87 } 88 89 90 91 /** 92 * Get privacy type 93 * @return privacy type 94 */ 95 public String getPrivacy() 96 { 97 return privacy; 98 } 99 100 101 102 /** 103 * set the privacy type. 104 * @param privacy -- privacy type to set. 105 */ 106 107 public void setPrivacy(String privacy) throws ParseException 108 { 109 110 if (privacy == null || privacy == "") 111 throw new NullPointerException( 112 "JAIN-SIP Exception, " 113 + " Privacy, setPrivacy(), privacy value is null or empty"); 114 this.privacy = privacy; 115 116 } 117 118 /** 119 * Suppress direct setting of values. 120 * 121 */ 122 public void setValue(String value) throws ParseException { 123 throw new ParseException(value,0); 124 125 } 126 127 128 public boolean equals(Object other) 129 { 130 if (other instanceof PrivacyHeader) 131 { 132 PrivacyHeader o = (PrivacyHeader) other; 133 return (this.getPrivacy().equals( o.getPrivacy() )); 134 } 135 return false; 136 137 } 138 139 140 public Object clone() { 141 Privacy retval = (Privacy) super.clone(); 142 if (this.privacy != null) 143 retval.privacy = this.privacy; 144 return retval; 145 } 146 147 148 149} 150