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