1 package gov.nist.javax.sip.parser.extensions; 2 3 4 import java.text.ParseException; 5 import gov.nist.javax.sip.header.*; 6 import gov.nist.javax.sip.header.extensions.*; 7 import gov.nist.javax.sip.parser.*; 8 9 10 /** 11 * ReferredBy Header parser. 12 * 13 * <a href="{@docRoot}/uncopyright.html">This code is in the public domain.</a> 14 * 15 * Based on JAIN ReferToParser 16 * 17 */ 18 public class ReferredByParser extends AddressParametersParser { 19 20 /** 21 * Creates new ToParser 22 * @param referBy String to set 23 */ ReferredByParser(String referBy)24 public ReferredByParser(String referBy) { 25 super(referBy); 26 } 27 ReferredByParser(Lexer lexer)28 protected ReferredByParser(Lexer lexer) { 29 super(lexer); 30 } parse()31 public SIPHeader parse() throws ParseException { 32 33 headerName(TokenTypes.REFERREDBY_TO); 34 ReferredBy referBy = new ReferredBy(); 35 super.parse(referBy); 36 this.lexer.match('\n'); 37 return referBy; 38 } 39 main(String args[])40 public static void main(String args[]) throws ParseException { 41 String to[] = 42 { "Referred-By: <sip:dave@denver.example.org?" + 43 "Replaces=12345%40192.168.118.3%3Bto-tag%3D12345%3Bfrom-tag%3D5FFE-3994>\n", 44 "Referred-By: <sip:+1-650-555-2222@ss1.wcom.com;user=phone>;tag=5617\n", 45 "Referred-By: T. A. Watson <sip:watson@bell-telephone.com>\n", 46 "Referred-By: LittleGuy <sip:UserB@there.com>\n", 47 "Referred-By: sip:mranga@120.6.55.9\n", 48 "Referred-By: sip:mranga@129.6.55.9 ; tag=696928473514.129.6.55.9\n" }; 49 50 for (int i = 0; i < to.length; i++) { 51 ReferredByParser tp = new ReferredByParser(to[i]); 52 ReferredBy t = (ReferredBy) tp.parse(); 53 System.out.println("encoded = " + t.encode()); 54 55 } 56 } 57 } 58 /* 59 * $Log: 60 * 61 */ 62 63 64