All Downloads are FREE. Search and download functionalities are using the official Maven repository.

gov.nist.javax.sip.address.UserInfo Maven / Gradle / Ivy

There is a newer version: 1.3.0-91
Show newest version
/*
* Conditions Of Use
*
* This software was developed by employees of the National Institute of
* Standards and Technology (NIST), an agency of the Federal Government.
* Pursuant to title 15 Untied States Code Section 105, works of NIST
* employees are not subject to copyright protection in the United States
* and are considered to be in the public domain.  As a result, a formal
* license is not needed to use the software.
*
* This software is provided by NIST as a service and is expressly
* provided "AS IS."  NIST MAKES NO WARRANTY OF ANY KIND, EXPRESS, IMPLIED
* OR STATUTORY, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTY OF
* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, NON-INFRINGEMENT
* AND DATA ACCURACY.  NIST does not warrant or make any representations
* regarding the use of the software or the results thereof, including but
* not limited to the correctness, accuracy, reliability or usefulness of
* the software.
*
* Permission to use this software is contingent upon your acceptance
* of the terms of this agreement
*
* .
*
*/
/*
 * Acknowledgement -- Lamine Brahimi
 * Submitted a bug fix for a this class.
 */
/*******************************************************************************
 * Product of NIST/ITL Advanced Networking Technologies Division (ANTD).       *
 *******************************************************************************/
package gov.nist.javax.sip.address;

/**
 * User information part of a URL.
 *
 * @version 1.2 $Revision: 1.9 $ $Date: 2010-05-06 14:08:06 $
 * @author M. Ranganathan   
* */ public final class UserInfo extends NetObject { private static final long serialVersionUID = 7268593273924256144L; /** user field */ protected String user; /** password field */ protected String password; /** userType field */ protected int userType; /** Constant field */ public final static int TELEPHONE_SUBSCRIBER = 1; /** constant field */ public final static int USER = 2; /** Default constructor */ public UserInfo() { super(); } /** * Compare for equality. * @param obj Object to set * @return true if the two headers are equals, false otherwise. */ public boolean equals(Object obj) { if (getClass() != obj.getClass()) { return false; } UserInfo other = (UserInfo) obj; if (this.userType != other.userType) { return false; } if (!this.user.equalsIgnoreCase(other.user)) { return false; } if (this.password != null && other.password == null) return false; if (other.password != null && this.password == null) return false; if (this.password == other.password) return true; return (this.password.equals(other.password)); } /** * Encode the user information as a string. * @return String */ public String encode() { return encode(new StringBuilder()).toString(); } public StringBuilder encode(StringBuilder buffer) { if (password != null) buffer.append(user).append(COLON).append(password); else buffer.append(user); return buffer; } /** Clear the password field. */ public void clearPassword() { this.password = null; } /** * Gets the user type (which can be set to TELEPHONE_SUBSCRIBER or USER) * @return the type of user. */ public int getUserType() { return userType; } /** get the user field. * @return String */ public String getUser() { return user; } /** get the password field. * @return String */ public String getPassword() { return password; } /** * Set the user member * @param user String to set */ public void setUser(String user) { if(user == null || "".equals(user)) return; this.user = user; // BUG Fix submitted by Lamine Brahimi // add this (taken form sip_messageParser) // otherwise comparison of two SipUrl will fail because this // parameter is not set (whereas it is set in sip_messageParser). if (user != null && (user.indexOf(POUND) >= 0 || user.indexOf(SEMICOLON) >= 0)) { setUserType(TELEPHONE_SUBSCRIBER); } else { setUserType(USER); } } /** * Set the password member * @param p String to set */ public void setPassword(String p) { password = p; } /** * Set the user type (to TELEPHONE_SUBSCRIBER or USER). * @param type int to set * @throws IllegalArgumentException if type is not in range. */ public void setUserType(int type) throws IllegalArgumentException { if (type != TELEPHONE_SUBSCRIBER && type != USER) { throw new IllegalArgumentException("Parameter not in range"); } userType = type; } }




© 2015 - 2024 Weber Informatics LLC | Privacy Policy