package gov.nist.javax.sip.parser.extensions; import java.text.ParseException; import gov.nist.javax.sip.header.*; import gov.nist.javax.sip.header.extensions.*; import gov.nist.javax.sip.parser.*; /** * ReferredBy Header parser. * * <a href="{@docRoot}/uncopyright.html">This code is in the public domain.</a> * * Based on JAIN ReferToParser * */ public class ReferredByParser extends AddressParametersParser { /** * Creates new ToParser * @param referBy String to set */ public ReferredByParser(String referBy) { super(referBy); } protected ReferredByParser(Lexer lexer) { super(lexer); } public SIPHeader parse() throws ParseException { headerName(TokenTypes.REFERREDBY_TO); ReferredBy referBy = new ReferredBy(); super.parse(referBy); this.lexer.match('\n'); return referBy; } public static void main(String args[]) throws ParseException { String to[] = { "Referred-By: <sip:dave@denver.example.org?" + "Replaces=12345%40192.168.118.3%3Bto-tag%3D12345%3Bfrom-tag%3D5FFE-3994>\n", "Referred-By: <sip:+1-650-555-2222@ss1.wcom.com;user=phone>;tag=5617\n", "Referred-By: T. A. Watson <sip:watson@bell-telephone.com>\n", "Referred-By: LittleGuy <sip:UserB@there.com>\n", "Referred-By: sip:mranga@120.6.55.9\n", "Referred-By: sip:mranga@129.6.55.9 ; tag=696928473514.129.6.55.9\n" }; for (int i = 0; i < to.length; i++) { ReferredByParser tp = new ReferredByParser(to[i]); ReferredBy t = (ReferredBy) tp.parse(); System.out.println("encoded = " + t.encode()); } } } /* * $Log: * */