KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > hsqldb > jdbc > jdbcDataSourceFactory


1 /* Copyright (c) 2001-2005, The HSQL Development Group
2  * All rights reserved.
3  *
4  * Redistribution and use in source and binary forms, with or without
5  * modification, are permitted provided that the following conditions are met:
6  *
7  * Redistributions of source code must retain the above copyright notice, this
8  * list of conditions and the following disclaimer.
9  *
10  * Redistributions in binary form must reproduce the above copyright notice,
11  * this list of conditions and the following disclaimer in the documentation
12  * and/or other materials provided with the distribution.
13  *
14  * Neither the name of the HSQL Development Group nor the names of its
15  * contributors may be used to endorse or promote products derived from this
16  * software without specific prior written permission.
17  *
18  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
19  * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
20  * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
21  * ARE DISCLAIMED. IN NO EVENT SHALL HSQL DEVELOPMENT GROUP, HSQLDB.ORG,
22  * OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
23  * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
24  * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
25  * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
26  * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
27  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
28  * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
29  */

30
31
32 package org.hsqldb.jdbc;
33
34 import java.util.Hashtable JavaDoc;
35
36 import javax.naming.Context JavaDoc;
37 import javax.naming.Name JavaDoc;
38 import javax.naming.Reference JavaDoc;
39 import javax.naming.spi.ObjectFactory JavaDoc;
40
41 // boucherb@users 20040411 - doc 1.7.2 - javadoc updates toward 1.7.2 final
42

43 /**
44  * A JNDI ObjectFactory for creating {@link jdbcDataSource jdbcDatasource}
45  * object instances.
46  *
47  * @author deforest@users
48  * @version 1.7.2
49  */

50 public class jdbcDataSourceFactory implements ObjectFactory JavaDoc {
51
52     /**
53      * Creates a jdbcDatasource object using the location or reference
54      * information specified.<p>
55      *
56      * The Reference object should support the properties, database, user,
57      * password.
58      *
59      * @param obj The reference information used in creating a
60      * jdbcDatasource object.
61      * @param name ignored
62      * @param nameCtx ignored
63      * @param environment ignored
64      * @return A newly created jdbcDataSource object; null if an object
65      * cannot be created.
66      * @exception Exception never
67      */

68     public Object JavaDoc getObjectInstance(Object JavaDoc obj, Name JavaDoc name, Context JavaDoc nameCtx,
69                                     Hashtable JavaDoc environment) throws Exception JavaDoc {
70
71         String JavaDoc dsClass = "org.hsqldb.jdbc.jdbcDataSource";
72         Reference JavaDoc ref = (Reference JavaDoc) obj;
73
74         if (ref.getClassName().equals(dsClass)) {
75             jdbcDataSource ds = new jdbcDataSource();
76
77             ds.setDatabase((String JavaDoc) ref.get("database").getContent());
78             ds.setUser((String JavaDoc) ref.get("user").getContent());
79             ds.setPassword((String JavaDoc) ref.get("password").getContent());
80
81             return ds;
82         } else {
83             return null;
84         }
85     }
86 }
87
Popular Tags