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

android.gov.nist.javax.sip.address.GenericURI 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
*
* .
*
*/
package android.gov.nist.javax.sip.address;
import java.text.ParseException;

import android.javax.sip.address.URI;

/**
 * Implementation of the URI class. This relies on the 1.4 URI class.
 *
 * @author M. Ranganathan   
* @version 1.2 $Revision: 1.11 $ $Date: 2010-05-06 14:08:06 $ * * */ public class GenericURI extends NetObject implements android.javax.sip.address.URI { /** * */ private static final long serialVersionUID = 3237685256878068790L; public static final String SIP = ParameterNames.SIP_URI_SCHEME; public static final String SIPS = ParameterNames.SIPS_URI_SCHEME; public static final String TEL = ParameterNames.TEL_URI_SCHEME; public static final String POSTDIAL = ParameterNames.POSTDIAL; public static final String PHONE_CONTEXT_TAG = ParameterNames.PHONE_CONTEXT_TAG; public static final String ISUB = ParameterNames.ISUB; public static final String PROVIDER_TAG = ParameterNames.PROVIDER_TAG; /** Imbedded URI */ protected String uriString; /** * The URI Scheme. */ protected String scheme; /** Consturctor */ protected GenericURI() { } /** Constructor given the URI string * @param uriString The imbedded URI string. * @throws java.net.URISyntaxException When there is a syntaz error in the imbedded URI. */ public GenericURI(String uriString) throws ParseException { try { this.uriString = uriString; int i = uriString.indexOf(":"); scheme = uriString.substring(0, i); } catch (Exception e) { throw new ParseException("GenericURI, Bad URI format", 0); } } /** Encode the URI. * @return The encoded URI */ public String encode() { return uriString; } public StringBuilder encode(StringBuilder buffer) { return buffer.append(uriString); } /** Encode this URI. * @return The encoded URI */ public String toString() { return this.encode(); } /** Returns the value of the "scheme" of * this URI, for example "sip", "sips" or "tel". * * @return the scheme paramter of the URI */ public String getScheme() { return scheme; } /** This method determines if this is a URI with a scheme of * "sip" or "sips". * * @return true if the scheme is "sip" or "sips", false otherwise. */ public boolean isSipURI() { return this instanceof SipUri; } // @Override public boolean equals(Object that) { if (this==that) return true; else if (that instanceof URI) { final URI o = (URI) that; // This is not sufficient for equality; revert to String equality... // return this.getScheme().equalsIgnoreCase( o.getScheme() ) return this.toString().equalsIgnoreCase( o.toString() ); } return false; } public int hashCode() { return this.toString().hashCode(); } }




© 2015 - 2024 Weber Informatics LLC | Privacy Policy