KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > apache > derby > jdbc > ClientConnectionPoolDataSource40


1 /*
2
3    Derby - Class org.apache.derby.jdbc.ClientConnectionPoolDataSource40
4
5    Licensed to the Apache Software Foundation (ASF) under one or more
6    contributor license agreements. See the NOTICE file distributed with
7    this work for additional information regarding copyright ownership.
8    The ASF licenses this file to You under the Apache License, Version 2.0
9    (the "License"); you may not use this file except in compliance with
10    the License. You may obtain a copy of the License at
11
12       http://www.apache.org/licenses/LICENSE-2.0
13
14    Unless required by applicable law or agreed to in writing, software
15    distributed under the License is distributed on an "AS IS" BASIS,
16    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
17    See the License for the specific language governing permissions and
18    limitations under the License.
19
20 */

21
22 package org.apache.derby.jdbc;
23
24 import java.sql.SQLException JavaDoc;
25 import javax.sql.DataSource JavaDoc;
26 import org.apache.derby.client.am.ClientMessageId;
27 import org.apache.derby.client.am.SqlException;
28 import org.apache.derby.shared.common.reference.SQLState;
29
30 /**
31  * ClientConnectionPoolDataSource40 is a factory for PooledConnection objects.
32  * An object that implements this interface
33  * will typically be registered with a naming service that is based on the
34  * Java Naming and Directory Interface (JNDI). Use this factory
35  * if your application runs under JDBC4.0.
36  * Use
37  * ClientConnectionPoolDataSource, instead, if your application runs under
38  * JDBC3.0 or JDBC2.0, that is, on the following Java Virtual Machines:
39  * <p/>
40  * <UL>
41  * <LI> JDBC 3.0 - Java 2 - JDK 1.4, J2SE 5.0
42  * <LI> JDBC 2.0 - Java 2 - JDK 1.2,1.3
43  * </UL>
44  */

45 public class ClientConnectionPoolDataSource40
46         extends ClientConnectionPoolDataSource {
47     /**
48      * Returns false unless <code>interfaces</code> is implemented
49      *
50      * @param interfaces a Class defining an interface.
51      * @return true if this implements the interface or
52      * directly or indirectly wraps an object
53      * that does.
54      * @throws java.sql.SQLException if an error occurs while determining
55      * whether this is a wrapper for an object
56      * with the given interface.
57      */

58     public boolean isWrapperFor(Class JavaDoc<?> interfaces) throws SQLException JavaDoc {
59         return interfaces.isInstance(this);
60     }
61     
62     /**
63      * Returns <code>this</code> if this class implements the interface
64      *
65      * @param interfaces a Class defining an interface
66      * @return an object that implements the interface
67      * @throws java.sql.SQLExption if no object if found that implements the
68      * interface
69      */

70     public <T> T unwrap(java.lang.Class JavaDoc<T> interfaces)
71                                    throws SQLException JavaDoc {
72         try {
73             return interfaces.cast(this);
74         } catch (ClassCastException JavaDoc cce) {
75             throw new SqlException(null,new ClientMessageId(
76                     SQLState.UNABLE_TO_UNWRAP), interfaces).getSQLException();
77         }
78     }
79 }
80
Popular Tags