mercoledì 23 ottobre 2013

Java, invocare tutti i set di un metodo con input di tipo Stringa

Un metodo utile per istanziare al volo un oggetto e settare tutte le sue proprietà con input una stringa casuale

public Object getOggettoIstanziato(String nomeClasse) throws Throwable {
Class dynamicClass = null;
dynamicClass = Class.forName(nomeClasse);
Object iClass = dynamicClass.newInstance();
Method[] listaMetodi = dynamicClass.getMethods();
for (Method m : listaMetodi)
{
if (m.getName().startsWith("set")
&& m.getGenericParameterTypes()[0].toString().equals("class java.lang.String"))
{
 int numeroCaratteri = RandomUtils.nextInt(20) + 1;
 m.invoke(iClass,new Object[] { getRandomString(numeroCaratteri) });
   }
  }
  return iClass;
 }

Nessun commento:

Posta un commento