public static Object callStaticMethod(String classAndMethod,Object... params) throws Exception {
  int lastDot=classAndMethod.lastIndexOf('.');
  String className=classAndMethod.substring(0,lastDot);
  String methodName=classAndMethod.substring(lastDot + 1);
  return callMethod(null,Class.forName(className),methodName,params);
}

public static Object callStaticMethod ( String classAndMethod , Object ... params ) throws Exception { int lastDot = classAndMethod . lastIndexOf ( '.' ) ; String className = classAndMethod . substring ( 0 , lastDot ) ; String methodName = classAndMethod . substring ( lastDot + 1 ) ; return callMethod ( null , Class . forName ( className ) , methodName , params ) ; }
calls a static method via reflection . this will try to use the method where the most parameter classes match exactly ( this algorithm is simpler than the one in the java specification , but works well for most cases ) .
