1 package org.eclipse.aether.util.repository;
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22 import java.util.Map;
23 import java.util.Objects;
24
25 import static java.util.Objects.requireNonNull;
26
27 import org.eclipse.aether.repository.Authentication;
28 import org.eclipse.aether.repository.AuthenticationContext;
29 import org.eclipse.aether.repository.AuthenticationDigest;
30
31
32
33
34 final class StringAuthentication
35 implements Authentication
36 {
37
38 private final String key;
39
40 private final String value;
41
42 StringAuthentication( String key, String value )
43 {
44 this.key = requireNonNull( key, "authentication key cannot be null" );
45 if ( key.length() == 0 )
46 {
47 throw new IllegalArgumentException( "authentication key cannot be empty" );
48 }
49 this.value = value;
50 }
51
52 public void fill( AuthenticationContext context, String key, Map<String, String> data )
53 {
54 requireNonNull( context, "context cannot be null" );
55 context.put( this.key, value );
56 }
57
58 public void digest( AuthenticationDigest digest )
59 {
60 requireNonNull( digest, "digest cannot be null" );
61 digest.update( key, value );
62 }
63
64 @Override
65 public boolean equals( Object obj )
66 {
67 if ( this == obj )
68 {
69 return true;
70 }
71 if ( obj == null || !getClass().equals( obj.getClass() ) )
72 {
73 return false;
74 }
75 StringAuthentication that = (StringAuthentication) obj;
76 return Objects.equals( key, that.key )
77 && Objects.equals( value, that.value );
78 }
79
80 @Override
81 public int hashCode()
82 {
83 int hash = 17;
84 hash = hash * 31 + key.hashCode();
85 hash = hash * 31 + ( ( value != null ) ? value.hashCode() : 0 );
86 return hash;
87 }
88
89 @Override
90 public String toString()
91 {
92 return key + "=" + value;
93 }
94
95 }