All Downloads are FREE. Search and download functionalities are using the official Maven repository.

org.firebirdsql.pool.FBConnectionPoolDataSource Maven / Gradle / Ivy

There is a newer version: 6.0.0-beta-1
Show newest version
/*
 * Firebird Open Source J2ee connector - jdbc driver
 *
 * Distributable under LGPL license.
 * You may obtain a copy of the License at http://www.gnu.org/copyleft/lgpl.html
 *
 * This program is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * LGPL License for more details.
 *
 * This file was created by members of the firebird development team.
 * All individual contributions remain the Copyright (C) of those
 * individuals.  Contributors to this file are either listed here or
 * can be obtained from a CVS history command.
 *
 * All rights reserved.
 */
package org.firebirdsql.pool;

import java.util.Hashtable;

import javax.naming.Context;
import javax.naming.Name;
import javax.naming.Reference;
import javax.naming.spi.ObjectFactory;

/**
 * Implementation of the javax.naming.spi.ObjectFactory interface.
 * 
 * @author Roman Rokytskyy
 * @author Steve Jardine 
 */
public class FBConnectionPoolDataSource extends
        AbstractFBConnectionPoolDataSource implements ObjectFactory {

    /**
     * Default Constructor.
     */
    public FBConnectionPoolDataSource() {
        super();
    }

    /*
     * (non-Javadoc)
     * 
     * @see javax.naming.spi.ObjectFactory#getObjectInstance(java.lang.Object,
     *      javax.naming.Name, javax.naming.Context, java.util.Hashtable )
     */
    public Object getObjectInstance(Object obj, Name name, Context nameCtx,
            Hashtable environment) throws Exception {
        if (!(obj instanceof Reference))
            return null;

        Reference ref = (Reference) obj;
        ref = (Reference) ref.clone();

        FBConnectionPoolDataSource ds = 
            (FBConnectionPoolDataSource)super.getObjectInstance(ref);
        return processObjectInstance(ds,ref);
    }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy