ReferredByParser.java revision 600c7a4bbc7348167293eac928192e695b4ad5ba
1package gov.nist.javax.sip.parser.extensions;
2
3
4import java.text.ParseException;
5import gov.nist.javax.sip.header.*;
6import gov.nist.javax.sip.header.extensions.*;
7import 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 */
18public class ReferredByParser extends AddressParametersParser {
19
20    /**
21     * Creates new ToParser
22     * @param referBy String to set
23     */
24    public ReferredByParser(String referBy) {
25        super(referBy);
26    }
27
28    protected ReferredByParser(Lexer lexer) {
29        super(lexer);
30    }
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
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