Home | History | Annotate | Download | only in header
      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 NIST/ITL Advanced Networking Technologies Division (ANTD).        *
     28 *******************************************************************************/
     29 package gov.nist.javax.sip.header;
     30 import gov.nist.core.*;
     31 
     32 /**
     33  * Credentials  that are used in authentication and authorization headers.
     34  * @author M. Ranganathan
     35  * @version 1.2 $Revision: 1.7 $ $Date: 2009/07/17 18:57:30 $
     36  * @since 1.1
     37  */
     38 public class Credentials extends SIPObject {
     39 
     40     /**
     41      * Comment for <code>serialVersionUID</code>
     42      */
     43     private static final long serialVersionUID = -6335592791505451524L;
     44 
     45     private static String DOMAIN = ParameterNames.DOMAIN;
     46     private static String REALM = ParameterNames.REALM;
     47     private static String OPAQUE = ParameterNames.OPAQUE;
     48     private static String RESPONSE = ParameterNames.RESPONSE;
     49     private static String URI = ParameterNames.URI;
     50     private static String NONCE = ParameterNames.NONCE;
     51     private static String CNONCE = ParameterNames.CNONCE;
     52     private static String USERNAME = ParameterNames.USERNAME;
     53 
     54     protected String scheme;
     55 
     56     /**
     57      * parameters list.
     58      */
     59     protected NameValueList parameters;
     60 
     61     /**
     62      * Default constructor
     63      */
     64     public Credentials() {
     65         parameters = new NameValueList();
     66         parameters.setSeparator(COMMA);
     67     }
     68 
     69     /**
     70      * get the parameters list.
     71      * @return NameValueList
     72      */
     73     public NameValueList getCredentials() {
     74         return parameters;
     75     }
     76 
     77     /**
     78      * get the scheme field.
     79      * @return String.
     80      */
     81     public String getScheme() {
     82         return scheme;
     83     }
     84 
     85     /**
     86      * Set the scheme member
     87      * @param s String to set
     88      */
     89     public void setScheme(String s) {
     90         scheme = s;
     91     }
     92 
     93     /**
     94      * Set the parameters member
     95      * @param c NameValueList to set.
     96      */
     97     public void setCredentials(NameValueList c) {
     98         parameters = c;
     99     }
    100 
    101     public String encode() {
    102         String retval = scheme;
    103         if (!parameters.isEmpty()) {
    104             retval += SP + parameters.encode();
    105         }
    106         return retval;
    107     }
    108 
    109     /*public void setCredential(NameValue nameValue) {
    110         if (nameValue.getName().compareToIgnoreCase(URI) == 0)
    111             nameValue.setQuotedValue();
    112         else if (nameValue.getName().compareToIgnoreCase(NONCE) == 0)
    113             nameValue.setQuotedValue();
    114         else if (nameValue.getName().compareToIgnoreCase(REALM) == 0)
    115             nameValue.setQuotedValue();
    116         else if (nameValue.getName().compareToIgnoreCase(CNONCE) == 0)
    117             nameValue.setQuotedValue();
    118         else if (nameValue.getName().compareToIgnoreCase(RESPONSE) == 0)
    119             nameValue.setQuotedValue();
    120         else if (nameValue.getName().compareToIgnoreCase(OPAQUE) == 0)
    121             nameValue.setQuotedValue();
    122         else if (nameValue.getName().compareToIgnoreCase(USERNAME) == 0)
    123             nameValue.setQuotedValue();
    124         else if (nameValue.getName().compareToIgnoreCase(DOMAIN) == 0)
    125             nameValue.setQuotedValue();
    126         parameters.set(nameValue);
    127     }*/
    128 
    129     public Object clone() {
    130         Credentials retval = (Credentials) super.clone();
    131         if (this.parameters != null)
    132             retval.parameters = (NameValueList) this.parameters.clone();
    133         return retval;
    134     }
    135 }
    136