| career | drupal | java | mac | mysql | perl | scala | uml | unix  

Commons DBCP example source code file (

This example Commons DBCP source code file ( is included in the "Java Source Code Warehouse" project. The intent of this project is to help you "Learn Java by Example" TM.

Java - Commons DBCP tags/keywords

io, serializable, serializable, string, string, stringbuffer, stringbuffer, userpasskey, userpasskey

The Commons DBCP source code

 * Licensed to the Apache Software Foundation (ASF) under one or more
 * contributor license agreements.  See the NOTICE file distributed with
 * this work for additional information regarding copyright ownership.
 * The ASF licenses this file to You under the Apache License, Version 2.0
 * (the "License"); you may not use this file except in compliance with
 * the License.  You may obtain a copy of the License at
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * See the License for the specific language governing permissions and
 * limitations under the License.

package org.apache.commons.dbcp.datasources;


 * <p>Holds a username, password pair.  Serves as a poolable object key for the KeyedObjectPool
 * backing a SharedPoolDataSource.  Two instances with the same username are considered equal.
 * This ensures that there will be only one keyed pool for each user in the pool.  The password
 * is used (along with the username) by the KeyedCPDSConnectionFactory when creating new connections.</p>
 * <p>{@link InstanceKeyDataSource#getConnection(String, String)} validates that the password used to create
 * a connection matches the password provided by the client.</p>
 * @version $Revision: 907288 $ $Date: 2010-02-06 14:42:58 -0500 (Sat, 06 Feb 2010) $
class UserPassKey implements Serializable {
    private static final long serialVersionUID = 5142970911626584817L;
    private final String password;
    private final String username;
    UserPassKey(String username, String password) {
        this.username = username;
        this.password = password;
     * Get the value of password.
     * @return value of password.
    public String getPassword() {
        return password;
     * Get the value of username.
     * @return value of username.
    public String getUsername() {
        return username;
     * @return <code>true if the username fields for both 
     * objects are equal.  Two instances with the same username
     * but different passwords are considered equal.
     * @see java.lang.Object#equals(java.lang.Object)
    public boolean equals(Object obj) {
        if (obj == null) {
            return false;

        if (obj == this) {
            return true;
        if (!(obj instanceof UserPassKey)) {
            return false;
        UserPassKey key = (UserPassKey) obj;
        return this.username == null ?
                key.username == null :

     * Returns the hash of the username. 
    public int hashCode() {
        return (this.username != null ?
                (this.username).hashCode() : 0);

    public String toString() {
        StringBuffer sb = new StringBuffer(50);
        sb.append(username).append(", ").append(password).append(')');
        return sb.toString();

Other Commons DBCP examples (source code examples)

Here is a short list of links related to this Commons DBCP source code file:

... this post is sponsored by my books ...

#1 New Release!

FP Best Seller


new blog posts


Copyright 1998-2021 Alvin Alexander,
All Rights Reserved.

A percentage of advertising revenue from
pages under the /java/jwarehouse URI on this website is
paid back to open source projects.