00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029 package org.openmobileis.database.fastobjectdb.db.util;
00030
00031 import java.lang.reflect.*;
00032
00039 public class FODBUtils {
00040 static final int VAR = 1;
00041 static final int METHOD = 2;
00042
00043 public static AccessibleObject getMember(Class objType, String memberName) {
00044 int memberType = VAR;
00045
00046 if (memberName.indexOf("()") == memberName.length() - 2) {
00047 memberType = METHOD;
00048 memberName = memberName.substring(0, memberName.length() - 2);
00049 }
00050
00051 if (memberType == METHOD) {
00052 Method method = null;
00053 try {
00054 method = objType.getMethod(memberName, ((Class[])null));
00055 return method;
00056 } catch (NoSuchMethodException ex) {
00057 return null;
00058 }
00059 } else {
00060 Field field = null;
00061 try {
00062 field = objType.getField(memberName);
00063 return field;
00064 } catch (NoSuchFieldException ex) {
00065 return null;
00066 }
00067 }
00068
00069
00070 }
00071 }