1. /*
  2. * Copyright 1999-2004 The Apache Software Foundation.
  3. *
  4. * Licensed under the Apache License, Version 2.0 (the "License");
  5. * you may not use this file except in compliance with the License.
  6. * You may obtain a copy of the License at
  7. *
  8. * http://www.apache.org/licenses/LICENSE-2.0
  9. *
  10. * Unless required by applicable law or agreed to in writing, software
  11. * distributed under the License is distributed on an "AS IS" BASIS,
  12. * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  13. * See the License for the specific language governing permissions and
  14. * limitations under the License.
  15. */
  16. package org.apache.commons.dbcp.datasources;
  17. import java.io.Serializable;
  18. /**
  19. * @version $Revision: 1.5 $ $Date: 2004/02/28 12:18:17 $
  20. */
  21. class PoolKey implements Serializable {
  22. private String datasourceName;
  23. private String username;
  24. PoolKey(String datasourceName, String username) {
  25. this.datasourceName = datasourceName;
  26. this.username = username;
  27. }
  28. public boolean equals(Object obj) {
  29. if (obj instanceof PoolKey) {
  30. PoolKey pk = (PoolKey)obj;
  31. return (null == datasourceName ? null == pk.datasourceName : datasourceName.equals(pk.datasourceName)) &&
  32. (null == username ? null == pk.username : username.equals(pk.username));
  33. } else {
  34. return false;
  35. }
  36. }
  37. public int hashCode() {
  38. int h = 0;
  39. if (datasourceName != null) {
  40. h += datasourceName.hashCode();
  41. }
  42. if (username != null) {
  43. h = 29 * h + username.hashCode();
  44. }
  45. return h;
  46. }
  47. public String toString() {
  48. StringBuffer sb = new StringBuffer(50);
  49. sb.append("PoolKey(");
  50. sb.append(username).append(", ").append(datasourceName);
  51. sb.append(')');
  52. return sb.toString();
  53. }
  54. }