Fornecedor item = (Fornecedor) comboListagem.getSelectedItem();
if (item.getCodigo() > 0) {
Method[] mo = item.getClass().getDeclaredMethods();
Method[] md = fornecedor.getClass().getDeclaredMethods();
for (int i = 0; i < mo.length; i++) {
Method m1 = mo[i];
if (m1.getName().startsWith("get") || m1.getName().startsWith("is")) {
Object value;
try {
value = m1.invoke(item, new Object[]{});
System.out.println(m1.getName() + " = " + value); // aqui mostra corretamente o que vem do get
(md[i]).invoke(fornecedor, new Object[]{value}); // aqui: java.lang.IllegalArgumentException: wrong number of arguments
} catch (IllegalAccessException ex) {
Logger.getLogger(Lib.class.getName()).log(Level.SEVERE, null, ex);
} catch (IllegalArgumentException ex) {
Logger.getLogger(Lib.class.getName()).log(Level.SEVERE, null, ex);
} catch (InvocationTargetException ex) {
Logger.getLogger(Lib.class.getName()).log(Level.SEVERE, null, ex);
}
} else {
continue;
}
}
Copiar propriedades de um bean para o outro - RESOLVIDO
Me atrapalhei um pouco nesse código e não estou conseguindo pegar os "valores" retornados pelos gets e colocar nos sets do bean Fornecedor:
Preciso de uma luz.
1 Resposta
Resolvido:
Method[] mo = item.getClass().getDeclaredMethods();
for (int i = 0; i < mo.length; i++) {
Method m1 = mo[i];
if (m1.getName().startsWith("get") || m1.getName().startsWith("is")) {
Object value;
String metodoSet = "set";
String sufixo = "";
if (m1.getName().startsWith("get")) {
sufixo = m1.getName().substring(m1.getName().indexOf("get") + 3, m1.getName().length());
} else {
sufixo = m1.getName().substring(m1.getName().indexOf("is") + 2, m1.getName().length());
}
metodoSet += sufixo;
try {
value = m1.invoke(item, new Object[]{});
Method m3 = null;
if (value != null) {
Class classe = value.getClass();
if (classe.getName().equals("java.sql.Date")) {
classe = java.util.Date.class;
}
m3 = fornecedor.getClass().getMethod(metodoSet, classe);
m3.invoke(fornecedor, new Object[]{value});
} else {
}
} catch (IllegalAccessException ex) {
Logger.getLogger(Lib.class.getName()).log(Level.SEVERE, null, ex);
} catch (IllegalArgumentException ex) {
Logger.getLogger(Lib.class.getName()).log(Level.SEVERE, null, ex);
} catch (InvocationTargetException ex) {
Logger.getLogger(Lib.class.getName()).log(Level.SEVERE, null, ex);
} catch (NoSuchMethodException ex) {
Logger.getLogger(FornecedorUI.class.getName()).log(Level.SEVERE, null, ex);
} catch (SecurityException ex) {
Logger.getLogger(FornecedorUI.class.getName()).log(Level.SEVERE, null, ex);
}
} else {
continue;
}
}
Criado 7 de setembro de 2009
Ultima resposta 7 de set. de 2009
Respostas 1
Participantes 1
Alura O que é Python? — um guia completo para iniciar nessa linguagem de programação Acesse agora o guia sobre Python e inicie sua jornada nessa linguagem de programação: o que é e para que serve, sua sintaxe e como iniciar nela!
Casa do Codigo Engenharia de Prompt para Devs: Um guia para aprender a... Por Ricardo Pupo Larguesa — Casa do Codigo