I am trying to call newInstance
method of java.lang.reflect.Constructor
class in order to create an object based on constructor received.
I need to generate dynamic call in class B
class A
{
void method()
{
ABC abc = new ABC(arg1,arg2);
Constructor c = Class.forName("someClass").getConstructor(ABC.class);
Object o = B.getObject(c,abc);
Object
//do something
}
}
class B
{
public static Object getObject(Constructor c, Object... args)
{
//how to create dynamic call here???
c.newInstance(args[0],args[1],...,args[args.length-1]);
}
}
class someClass
{
someClass(ABC abc)
{
//do something
}
someClass(ABC abc, int a)
{
//do something
}
}
I cannot modify someClass whatsoever. (Actually someClass is just an example. I am calling 10-15 different calsses, so modifying is not an option. Plus, I need to make class B generic)