Este tipo de cosas no es fácil. Aquí es un método que llama a un método estático:
public static Object callStaticMethod(
// class that contains the static method
final Class<?> clazz,
// method name
final String methodName,
// optional method parameters
final Object... parameters) throws Exception{
for(final Method method : clazz.getMethods()){
if(method.getName().equals(methodName)){
final Class<?>[] paramTypes = method.getParameterTypes();
if(parameters.length != paramTypes.length){
continue;
}
boolean compatible = true;
for(int i = 0; i < paramTypes.length; i++){
final Class<?> paramType = paramTypes[i];
final Object param = parameters[i];
if(param != null && !paramType.isInstance(param)){
compatible = false;
break;
}
}
if(compatible){
return method.invoke(/* static invocation */null,
parameters);
}
}
}
throw new NoSuchMethodException(methodName);
}
Actualización: Espera, acabo de ver la etiqueta GWT sobre la cuestión. No puede usar la reflexión en GWT
y cómo yo fuego constructor por defecto o algunos métodos de esa clase? –
información actualizada ... –
lo siento, me olvidé de agregar sobre el kit de herramientas de google web y esas cosas, estoy usando google web toolkit y no admite la reflexión. –