KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > com > mchange > v2 > c3p0 > impl > C3P0JavaBeanObjectFactory


1 /*
2  * Distributed as part of c3p0 v.0.9.1
3  *
4  * Copyright (C) 2005 Machinery For Change, Inc.
5  *
6  * Author: Steve Waldman <swaldman@mchange.com>
7  *
8  * This library is free software; you can redistribute it and/or modify
9  * it under the terms of the GNU Lesser General Public License version 2.1, as
10  * published by the Free Software Foundation.
11  *
12  * This software is distributed in the hope that it will be useful,
13  * but WITHOUT ANY WARRANTY; without even the implied warranty of
14  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15  * GNU Lesser General Public License for more details.
16  *
17  * You should have received a copy of the GNU Lesser General Public License
18  * along with this software; see the file LICENSE. If not, write to the
19  * Free Software Foundation, Inc., 59 Temple Place, Suite 330,
20  * Boston, MA 02111-1307, USA.
21  */

22
23
24 package com.mchange.v2.c3p0.impl;
25
26 import java.lang.reflect.Constructor JavaDoc;
27 import java.util.Map JavaDoc;
28 import java.util.Set JavaDoc;
29 import com.mchange.v2.c3p0.C3P0Registry;
30 import com.mchange.v2.naming.JavaBeanObjectFactory;
31
32 public class C3P0JavaBeanObjectFactory extends JavaBeanObjectFactory
33 {
34     private final static Class JavaDoc[] CTOR_ARG_TYPES = new Class JavaDoc[] { boolean.class };
35     private final static Object JavaDoc[] CTOR_ARGS = new Object JavaDoc[] { Boolean.FALSE };
36
37     protected Object JavaDoc createBlankInstance(Class JavaDoc beanClass) throws Exception JavaDoc
38     {
39     if ( IdentityTokenized.class.isAssignableFrom( beanClass ) )
40         {
41         Constructor JavaDoc ctor = beanClass.getConstructor( CTOR_ARG_TYPES );
42         return ctor.newInstance( CTOR_ARGS );
43         }
44     else
45         return super.createBlankInstance( beanClass );
46     }
47
48     protected Object JavaDoc findBean(Class JavaDoc beanClass, Map JavaDoc propertyMap, Set JavaDoc refProps ) throws Exception JavaDoc
49     {
50     Object JavaDoc out = super.findBean( beanClass, propertyMap, refProps );
51     if (out instanceof IdentityTokenized)
52         out = C3P0Registry.reregister( (IdentityTokenized) out );
53     //System.err.println("--> findBean()");
54
//System.err.println(out);
55
return out;
56     }
57 }
58
Popular Tags