diff options
Diffstat (limited to 'src/org/apache/http/auth/AuthScope.java')
-rw-r--r-- | src/org/apache/http/auth/AuthScope.java | 292 |
1 files changed, 0 insertions, 292 deletions
diff --git a/src/org/apache/http/auth/AuthScope.java b/src/org/apache/http/auth/AuthScope.java deleted file mode 100644 index c9d7f56..0000000 --- a/src/org/apache/http/auth/AuthScope.java +++ /dev/null @@ -1,292 +0,0 @@ -/* - * $HeadURL: http://svn.apache.org/repos/asf/httpcomponents/httpclient/trunk/module-client/src/main/java/org/apache/http/auth/AuthScope.java $ - * $Revision: 652950 $ - * $Date: 2008-05-02 16:49:48 -0700 (Fri, 02 May 2008) $ - * - * ==================================================================== - * - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The ASF licenses this file to You under the Apache License, Version 2.0 - * (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - * ==================================================================== - * - * This software consists of voluntary contributions made by many - * individuals on behalf of the Apache Software Foundation. For more - * information on the Apache Software Foundation, please see - * <http://www.apache.org/>. - * - */ - -package org.apache.http.auth; - -import java.util.Locale; - -import org.apache.http.util.LangUtils; - -/** - * The class represents an authentication scope consisting of a host name, - * a port number, a realm name and an authentication scheme name which - * {@link Credentials Credentials} apply to. - * - * @author <a href="mailto:oleg at ural.ru">Oleg Kalnichevski</a> - * @author <a href="mailto:adrian@intencha.com">Adrian Sutton</a> - * - * @since 4.0 - */ -public class AuthScope { - - /** - * The <tt>null</tt> value represents any host. In the future versions of - * HttpClient the use of this parameter will be discontinued. - */ - public static final String ANY_HOST = null; - - /** - * The <tt>-1</tt> value represents any port. - */ - public static final int ANY_PORT = -1; - - /** - * The <tt>null</tt> value represents any realm. - */ - public static final String ANY_REALM = null; - - /** - * The <tt>null</tt> value represents any authentication scheme. - */ - public static final String ANY_SCHEME = null; - - /** - * Default scope matching any host, port, realm and authentication scheme. - * In the future versions of HttpClient the use of this parameter will be - * discontinued. - */ - public static final AuthScope ANY = new AuthScope(ANY_HOST, ANY_PORT, ANY_REALM, ANY_SCHEME); - - /** The authentication scheme the credentials apply to. */ - private final String scheme; - - /** The realm the credentials apply to. */ - private final String realm; - - /** The host the credentials apply to. */ - private final String host; - - /** The port the credentials apply to. */ - private final int port; - - /** Creates a new credentials scope for the given - * <tt>host</tt>, <tt>port</tt>, <tt>realm</tt>, and - * <tt>authentication scheme</tt>. - * - * @param host the host the credentials apply to. May be set - * to <tt>null</tt> if credenticals are applicable to - * any host. - * @param port the port the credentials apply to. May be set - * to negative value if credenticals are applicable to - * any port. - * @param realm the realm the credentials apply to. May be set - * to <tt>null</tt> if credenticals are applicable to - * any realm. - * @param scheme the authentication scheme the credentials apply to. - * May be set to <tt>null</tt> if credenticals are applicable to - * any authentication scheme. - */ - public AuthScope(final String host, int port, - final String realm, final String scheme) - { - this.host = (host == null) ? ANY_HOST: host.toLowerCase(Locale.ENGLISH); - this.port = (port < 0) ? ANY_PORT: port; - this.realm = (realm == null) ? ANY_REALM: realm; - this.scheme = (scheme == null) ? ANY_SCHEME: scheme.toUpperCase(Locale.ENGLISH); - } - - /** Creates a new credentials scope for the given - * <tt>host</tt>, <tt>port</tt>, <tt>realm</tt>, and any - * authentication scheme. - * - * @param host the host the credentials apply to. May be set - * to <tt>null</tt> if credenticals are applicable to - * any host. - * @param port the port the credentials apply to. May be set - * to negative value if credenticals are applicable to - * any port. - * @param realm the realm the credentials apply to. May be set - * to <tt>null</tt> if credenticals are applicable to - * any realm. - */ - public AuthScope(final String host, int port, final String realm) { - this(host, port, realm, ANY_SCHEME); - } - - /** Creates a new credentials scope for the given - * <tt>host</tt>, <tt>port</tt>, any realm name, and any - * authentication scheme. - * - * @param host the host the credentials apply to. May be set - * to <tt>null</tt> if credenticals are applicable to - * any host. - * @param port the port the credentials apply to. May be set - * to negative value if credenticals are applicable to - * any port. - */ - public AuthScope(final String host, int port) { - this(host, port, ANY_REALM, ANY_SCHEME); - } - - /** - * Creates a copy of the given credentials scope. - */ - public AuthScope(final AuthScope authscope) { - super(); - if (authscope == null) { - throw new IllegalArgumentException("Scope may not be null"); - } - this.host = authscope.getHost(); - this.port = authscope.getPort(); - this.realm = authscope.getRealm(); - this.scheme = authscope.getScheme(); - } - - /** - * @return the host - */ - public String getHost() { - return this.host; - } - - /** - * @return the port - */ - public int getPort() { - return this.port; - } - - /** - * @return the realm name - */ - public String getRealm() { - return this.realm; - } - - /** - * @return the scheme type - */ - public String getScheme() { - return this.scheme; - } - - /** - * Tests if the authentication scopes match. - * - * @return the match factor. Negative value signifies no match. - * Non-negative signifies a match. The greater the returned value - * the closer the match. - */ - public int match(final AuthScope that) { - int factor = 0; - if (LangUtils.equals(this.scheme, that.scheme)) { - factor += 1; - } else { - if (this.scheme != ANY_SCHEME && that.scheme != ANY_SCHEME) { - return -1; - } - } - if (LangUtils.equals(this.realm, that.realm)) { - factor += 2; - } else { - if (this.realm != ANY_REALM && that.realm != ANY_REALM) { - return -1; - } - } - if (this.port == that.port) { - factor += 4; - } else { - if (this.port != ANY_PORT && that.port != ANY_PORT) { - return -1; - } - } - if (LangUtils.equals(this.host, that.host)) { - factor += 8; - } else { - if (this.host != ANY_HOST && that.host != ANY_HOST) { - return -1; - } - } - return factor; - } - - /** - * @see java.lang.Object#equals(Object) - */ - @Override - public boolean equals(Object o) { - if (o == null) { - return false; - } - if (o == this) { - return true; - } - if (!(o instanceof AuthScope)) { - return super.equals(o); - } - AuthScope that = (AuthScope) o; - return - LangUtils.equals(this.host, that.host) - && this.port == that.port - && LangUtils.equals(this.realm, that.realm) - && LangUtils.equals(this.scheme, that.scheme); - } - - /** - * @see java.lang.Object#toString() - */ - @Override - public String toString() { - StringBuffer buffer = new StringBuffer(); - if (this.scheme != null) { - buffer.append(this.scheme.toUpperCase(Locale.ENGLISH)); - buffer.append(' '); - } - if (this.realm != null) { - buffer.append('\''); - buffer.append(this.realm); - buffer.append('\''); - } else { - buffer.append("<any realm>"); - } - if (this.host != null) { - buffer.append('@'); - buffer.append(this.host); - if (this.port >= 0) { - buffer.append(':'); - buffer.append(this.port); - } - } - return buffer.toString(); - } - - /** - * @see java.lang.Object#hashCode() - */ - @Override - public int hashCode() { - int hash = LangUtils.HASH_SEED; - hash = LangUtils.hashCode(hash, this.host); - hash = LangUtils.hashCode(hash, this.port); - hash = LangUtils.hashCode(hash, this.realm); - hash = LangUtils.hashCode(hash, this.scheme); - return hash; - } -} |