Docjar: A Java Source and Docuemnt Enginecom.*    java.*    javax.*    org.*    all    new    plug-in

Quick Search    Search Deep

Source code: com/ibatis/sqlmap/engine/accessplan/BaseAccessPlan.java


1   /*
2    *  Copyright 2004 Clinton Begin
3    *
4    *  Licensed under the Apache License, Version 2.0 (the "License");
5    *  you may not use this file except in compliance with the License.
6    *  You may obtain a copy of the License at
7    *
8    *      http://www.apache.org/licenses/LICENSE-2.0
9    *
10   *  Unless required by applicable law or agreed to in writing, software
11   *  distributed under the License is distributed on an "AS IS" BASIS,
12   *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13   *  See the License for the specific language governing permissions and
14   *  limitations under the License.
15   */
16  package com.ibatis.sqlmap.engine.accessplan;
17  
18  import com.ibatis.common.beans.ClassInfo;
19  
20  import java.lang.reflect.Method;
21  
22  /**
23   * Base implementation of the AccessPlan interface
24   */
25  public abstract class BaseAccessPlan implements AccessPlan {
26  
27    protected Class clazz;
28    protected String[] propertyNames;
29    protected ClassInfo info;
30  
31    BaseAccessPlan(Class clazz, String[] propertyNames) {
32      this.clazz = clazz;
33      this.propertyNames = propertyNames;
34      info = ClassInfo.getInstance(clazz);
35    }
36  
37    protected Class[] getTypes(String[] propertyNames) {
38      Class[] types = new Class[propertyNames.length];
39      for (int i = 0; i < propertyNames.length; i++) {
40        types[i] = info.getGetterType(propertyNames[i]);
41      }
42      return types;
43    }
44  
45    protected Method[] getGetters(String[] propertyNames) {
46      Method[] methods = new Method[propertyNames.length];
47      for (int i = 0; i < propertyNames.length; i++) {
48        methods[i] = info.getGetter(propertyNames[i]);
49      }
50      return methods;
51    }
52  
53    protected Method[] getSetters(String[] propertyNames) {
54      Method[] methods = new Method[propertyNames.length];
55      for (int i = 0; i < propertyNames.length; i++) {
56        methods[i] = info.getSetter(propertyNames[i]);
57      }
58      return methods;
59    }
60  
61    protected String[] getGetterNames(String[] propertyNames) {
62      String[] names = new String[propertyNames.length];
63      for (int i = 0; i < propertyNames.length; i++) {
64        names[i] = info.getGetter(propertyNames[i]).getName();
65      }
66      return names;
67    }
68  
69    protected String[] getSetterNames(String[] propertyNames) {
70      String[] names = new String[propertyNames.length];
71      for (int i = 0; i < propertyNames.length; i++) {
72        names[i] = info.getSetter(propertyNames[i]).getName();
73      }
74      return names;
75    }
76  
77  
78  }