1 /*
2 * $HeadURL: https://svn.apache.org/repos/asf/httpcomponents/oac.hc3x/trunk/src/java/org/apache/commons/httpclient/auth/AuthSchemeBase.java $
3 * $Revision$
4 * $Date$
5 *
6 * ====================================================================
7 *
8 * Licensed to the Apache Software Foundation (ASF) under one or more
9 * contributor license agreements. See the NOTICE file distributed with
10 * this work for additional information regarding copyright ownership.
11 * The ASF licenses this file to You under the Apache License, Version 2.0
12 * (the "License"); you may not use this file except in compliance with
13 * the License. You may obtain a copy of the License at
14 *
15 * http://www.apache.org/licenses/LICENSE-2.0
16 *
17 * Unless required by applicable law or agreed to in writing, software
18 * distributed under the License is distributed on an "AS IS" BASIS,
19 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
20 * See the License for the specific language governing permissions and
21 * limitations under the License.
22 * ====================================================================
23 *
24 * This software consists of voluntary contributions made by many
25 * individuals on behalf of the Apache Software Foundation. For more
26 * information on the Apache Software Foundation, please see
27 * <http://www.apache.org/>.
28 *
29 */
30
31 package org.apache.commons.httpclient.auth;
32
33 /***
34 * <p>
35 * Abstract authentication scheme class that implements {@link AuthScheme}
36 * interface and provides a default contstructor.
37 * </p>
38 * @deprecated No longer used
39 *
40 * @author <a href="mailto:oleg@ural.ru">Oleg Kalnichevski</a>
41 */
42 public abstract class AuthSchemeBase implements AuthScheme {
43
44 /***
45 * Original challenge string as received from the server.
46 */
47 private String challenge = null;
48
49 /***
50 * Constructor for an abstract authetication schemes.
51 *
52 * @param challenge authentication challenge
53 *
54 * @throws MalformedChallengeException is thrown if the authentication challenge
55 * is malformed
56 *
57 * @deprecated Use parameterless constructor and {@link AuthScheme#processChallenge(String)}
58 * method
59 */
60 public AuthSchemeBase(final String challenge)
61 throws MalformedChallengeException {
62 super();
63 if (challenge == null) {
64 throw new IllegalArgumentException("Challenge may not be null");
65 }
66 this.challenge = challenge;
67 }
68
69 /***
70 * @see java.lang.Object#equals(Object)
71 */
72 public boolean equals(Object obj) {
73 if (obj instanceof AuthSchemeBase) {
74 return this.challenge.equals(((AuthSchemeBase) obj).challenge);
75 } else {
76 return super.equals(obj);
77 }
78 }
79
80 /***
81 * @see java.lang.Object#hashCode()
82 */
83 public int hashCode() {
84 return this.challenge.hashCode();
85 }
86
87 /***
88 * @see java.lang.Object#toString()
89 */
90 public String toString() {
91 return this.challenge;
92 }
93 }