View Javadoc

1   /*
2    * ====================================================================
3    *
4    *  Licensed to the Apache Software Foundation (ASF) under one or more
5    *  contributor license agreements.  See the NOTICE file distributed with
6    *  this work for additional information regarding copyright ownership.
7    *  The ASF licenses this file to You under the Apache License, Version 2.0
8    *  (the "License"); you may not use this file except in compliance with
9    *  the License.  You may obtain a copy of the License at
10   *
11   *      http://www.apache.org/licenses/LICENSE-2.0
12   *
13   *  Unless required by applicable law or agreed to in writing, software
14   *  distributed under the License is distributed on an "AS IS" BASIS,
15   *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16   *  See the License for the specific language governing permissions and
17   *  limitations under the License.
18   * ====================================================================
19   *
20   * This software consists of voluntary contributions made by many
21   * individuals on behalf of the Apache Software Foundation.  For more
22   * information on the Apache Software Foundation, please see
23   * <http://www.apache.org/>.
24   *
25   */
26  
27  package org.apache.http.auth;
28  
29  import org.apache.http.annotation.Immutable;
30  
31  /**
32   * @since 4.2
33   */
34  @Immutable
35  public final class AuthOption {
36  
37      private final AuthScheme authScheme;
38      private final Credentials creds;
39  
40      public AuthOption(final AuthScheme authScheme, final Credentials creds) {
41          super();
42          if (authScheme == null) {
43              throw new IllegalArgumentException("Auth scheme may not be null");
44          }
45          if (creds == null) {
46              throw new IllegalArgumentException("User credentials may not be null");
47          }
48          this.authScheme = authScheme;
49          this.creds = creds;
50      }
51  
52      public AuthScheme getAuthScheme() {
53          return this.authScheme;
54      }
55  
56      public Credentials getCredentials() {
57          return this.creds;
58      }
59  
60      @Override
61      public String toString() {
62          return this.authScheme.toString();
63      }
64  
65  }
66