1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 package org.apache.commons.dbcp2.datasources;
18
19 import java.io.Serializable;
20 import java.util.Objects;
21
22 import org.apache.commons.pool2.KeyedObjectPool;
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39 final class UserPassKey implements Serializable {
40 private static final long serialVersionUID = 5142970911626584817L;
41
42 private final CharArray name;
43 private final CharArray password;
44
45 UserPassKey(final char[] userName, final char[] password) {
46 this(new CharArray(userName), new CharArray(password));
47 }
48
49 UserPassKey(final CharArray userName, final CharArray userPassword) {
50 this.name = userName;
51 this.password = userPassword;
52 }
53
54 UserPassKey(final String userName) {
55 this(new CharArray(userName), CharArray.NULL);
56 }
57
58 UserPassKey(final String userName, final char[] password) {
59 this(new CharArray(userName), new CharArray(password));
60 }
61
62 UserPassKey(final String userName, final String userPassword) {
63 this(new CharArray(userName), new CharArray(userPassword));
64 }
65
66
67
68
69 @Override
70 public boolean equals(final Object obj) {
71 if (this == obj) {
72 return true;
73 }
74 if (obj == null) {
75 return false;
76 }
77 if (getClass() != obj.getClass()) {
78 return false;
79 }
80 final UserPassKey other = (UserPassKey) obj;
81 return Objects.equals(name, other.name);
82 }
83
84
85
86
87
88
89 String getPassword() {
90 return password.asString();
91 }
92
93
94
95
96
97
98 char[] getPasswordCharArray() {
99 return password.get();
100 }
101
102
103
104
105
106
107 String getUserName() {
108 return name.asString();
109 }
110
111
112
113
114 @Override
115 public int hashCode() {
116 return Objects.hash(name);
117 }
118
119 }