PPreferredService.java revision 600c7a4bbc7348167293eac928192e695b4ad5ba
1package gov.nist.javax.sip.header.ims; 2/* 3* Conditions Of Use 4* 5* This software was developed by employees of the National Institute of 6* Standards and Technology (NIST), an agency of the Federal Government. 7* Pursuant to title 15 Untied States Code Section 105, works of NIST 8* employees are not subject to copyright protection in the United States 9* and are considered to be in the public domain. As a result, a formal 10* license is not needed to use the software. 11* 12* This software is provided by NIST as a service and is expressly 13* provided "AS IS." NIST MAKES NO WARRANTY OF ANY KIND, EXPRESS, IMPLIED 14* OR STATUTORY, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTY OF 15* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, NON-INFRINGEMENT 16* AND DATA ACCURACY. NIST does not warrant or make any representations 17* regarding the use of the software or the results thereof, including but 18* not limited to the correctness, accuracy, reliability or usefulness of 19* the software. 20* 21* Permission to use this software is contingent upon your acceptance 22* of the terms of this agreement 23* 24* . 25* 26*/ 27import java.text.ParseException; 28import javax.sip.header.ExtensionHeader; 29import gov.nist.javax.sip.header.SIPHeader; 30/** 31 * 32 * @author aayush.bhatnagar 33 * 34 */ 35public class PPreferredService extends SIPHeader implements PPreferredServiceHeader, SIPHeaderNamesIms, ExtensionHeader{ 36 37 private String subServiceIds; 38 private String subAppIds; 39 40 protected PPreferredService(String name) { 41 super(NAME); 42 } 43 44 public PPreferredService() 45 { 46 super(P_PREFERRED_SERVICE); 47 } 48 49 @Override 50 protected String encodeBody() { 51 StringBuffer retval = new StringBuffer(); 52 53 retval.append(ParameterNamesIms.SERVICE_ID); 54 55 if(this.subServiceIds!=null) 56 { 57 retval.append(ParameterNamesIms.SERVICE_ID_LABEL).append("."); 58 59 retval.append(this.getSubserviceIdentifiers()); 60 61 } 62 63 else if(this.subAppIds!=null) 64 { 65 retval.append(ParameterNamesIms.APPLICATION_ID_LABEL).append("."); 66 retval.append(this.getApplicationIdentifiers()); 67 } 68 69 return retval.toString(); 70 } 71 72 public void setValue(String value) throws ParseException { 73 throw new ParseException(value,0); 74 75 } 76 77 public String getApplicationIdentifiers() { 78 if(this.subAppIds.charAt(0)=='.') 79 { 80 return this.subAppIds.substring(1); 81 } 82 return this.subAppIds; 83 } 84 85 public String getSubserviceIdentifiers() { 86 if(this.subServiceIds.charAt(0)=='.') 87 { 88 return this.subServiceIds.substring(1); 89 } 90 return this.subServiceIds; 91 } 92 93 public void setApplicationIdentifiers(String appids) { 94 this.subAppIds = appids; 95 96 } 97 98 public void setSubserviceIdentifiers(String subservices) { 99 this.subServiceIds = ".".concat(subservices); 100 101 } 102 103 public boolean equals(Object other) 104 { 105 return (other instanceof PPreferredServiceHeader) && super.equals(other); 106 107 } 108 109 110 public Object clone() { 111 PPreferredService retval = (PPreferredService) super.clone(); 112 return retval; 113 } 114 115} 116