package com.mtools.core.plugin.db; import java.lang.reflect.Method; @SuppressWarnings("unchecked") public class MethodUtil { public Method findMethod(Method[] mthds,Class pt2clz,String prefix) { for(Method m:mthds) { if(m.getName().startsWith(prefix)) continue; Class[] pts=m.getParameterTypes(); if(pts.length!=2) continue; for(Class pt:pts) { if(pt.isAssignableFrom(pt2clz)) { return m; } } } return null; } public static Method findMethodByRetType(Method[] rsMtdA,Class prm,String prefix) { int iM; Method rsMtd; Class rsPM,rsPMA[]; for(iM=0;iM<rsMtdA.length;++iM) { rsMtd=rsMtdA[iM]; if(!rsMtd.getName().startsWith(prefix)) continue; rsPMA=rsMtd.getParameterTypes(); if(rsPMA.length!=1) continue; rsPM=rsPMA[0]; if(rsPM.isAssignableFrom(String.class)&&prm.isAssignableFrom(rsMtd.getReturnType())) return rsMtd; } return null; } }