1 package gov.nist.javax.sip.parser.ims; 2 3 /* 4 * Conditions Of Use 5 * 6 * This software was developed by employees of the National Institute of 7 * Standards and Technology (NIST), an agency of the Federal Government. 8 * Pursuant to title 15 Untied States Code Section 105, works of NIST 9 * employees are not subject to copyright protection in the United States 10 * and are considered to be in the public domain. As a result, a formal 11 * license is not needed to use the software. 12 * 13 * This software is provided by NIST as a service and is expressly 14 * provided "AS IS." NIST MAKES NO WARRANTY OF ANY KIND, EXPRESS, IMPLIED 15 * OR STATUTORY, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTY OF 16 * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, NON-INFRINGEMENT 17 * AND DATA ACCURACY. NIST does not warrant or make any representations 18 * regarding the use of the software or the results thereof, including but 19 * not limited to the correctness, accuracy, reliability or usefulness of 20 * the software. 21 * 22 * Permission to use this software is contingent upon your acceptance 23 * of the terms of this agreement 24 * 25 * . 26 * 27 */ 28 29 import java.text.ParseException; 30 import gov.nist.javax.sip.address.AddressFactoryImpl; 31 import gov.nist.javax.sip.header.SIPHeader; 32 import gov.nist.javax.sip.header.ims.PServedUser; 33 import gov.nist.javax.sip.parser.Lexer; 34 import gov.nist.javax.sip.parser.ParametersParser; 35 import gov.nist.javax.sip.parser.TokenTypes; 36 37 /** 38 * 39 * @author aayush.bhatnagar 40 * 41 */ 42 public class PServedUserParser extends ParametersParser implements TokenTypes{ 43 PServedUserParser(Lexer lexer)44 protected PServedUserParser(Lexer lexer) { 45 super(lexer); 46 } 47 PServedUserParser(String servedUser)48 public PServedUserParser(String servedUser){ 49 super(servedUser); 50 } 51 parse()52 public SIPHeader parse() throws ParseException { 53 54 if (debug) 55 dbg_enter("PServedUser.parse"); 56 57 try{ 58 59 this.lexer.match(TokenTypes.P_SERVED_USER); 60 this.lexer.SPorHT(); 61 this.lexer.match(':'); 62 this.lexer.SPorHT(); 63 PServedUser servedUser = new PServedUser(); 64 this.lexer.SPorHT(); 65 String servedUsername = lexer.byteStringNoSemicolon(); 66 servedUser.setAddress(new AddressFactoryImpl().createAddress(servedUsername)); 67 super.parse(servedUser); 68 69 return servedUser; 70 71 } 72 finally { 73 if (debug) 74 dbg_leave("PServedUser.parse"); 75 } 76 } 77 78 } 79