KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > terracotta > modules > iBatis_2_2_0 > object > config > IBatisModuleSpec


1 /*
2  * All content copyright (c) 2003-2007 Terracotta, Inc., except as may otherwise be noted in a separate copyright notice. All rights reserved.
3  */

4 package org.terracotta.modules.iBatis_2_2_0.object.config;
5
6 import org.terracotta.modules.iBatis_2_2_0.object.dna.impl.IBatisAccessPlanInstance;
7
8 import com.tc.object.config.ChangeApplicatorSpec;
9 import com.tc.object.config.ModuleSpec;
10
11 public class IBatisModuleSpec implements ModuleSpec {
12   private final ChangeApplicatorSpec changeAppSpec;
13   
14   public IBatisModuleSpec(ChangeApplicatorSpec changeAppSpec) {
15     this.changeAppSpec = changeAppSpec;
16   }
17   
18   public ChangeApplicatorSpec getChangeApplicatorSpec() {
19     return this.changeAppSpec;
20   }
21
22   public Class JavaDoc getPeerClass(Class JavaDoc clazz) {
23     if (isIBatisAccessPlan(clazz)) {
24       return IBatisAccessPlanInstance.class;
25     }
26     return clazz;
27   }
28
29   public boolean isUseNonDefaultConstructor(Class JavaDoc clazz) {
30     return isIBatisAccessPlan(clazz);
31   }
32   
33   public boolean isPortableClass(Class JavaDoc clazz) {
34     return isIBatisAccessPlan(clazz);
35   }
36   
37   private static boolean isIBatisAccessPlan(Class JavaDoc clazz) {
38     if (IBatisAccessPlanInstance.class.getName().equals(clazz.getName())) { return true; }
39     Class JavaDoc superclass = clazz.getSuperclass();
40     if (superclass == null) { return false; }
41     if (superclass.getName().equals("com.ibatis.sqlmap.engine.accessplan.BaseAccessPlan")) { return true; }
42     return false;
43
44   }
45
46 }
47
Popular Tags