vendredi 24 juillet 2015

How I can transfer atrributes values from a Objects to another

I want tranfers attributes values from a object that came from my Entity manager to a new object.

The result Object is always null

 public class ReflectionUtil {

    public static Object copyAttributesFromTo(Object a, Object b) throws IllegalArgumentException, IllegalAccessException {
        Field[] fieldsFromFirstClass = a.getClass().getDeclaredFields();
        Field[] fieldsFromSecondClass = b.getClass().getDeclaredFields();

        for (Field currentFieldFromTheFirstClass : fieldsFromFirstClass) {
            for (Field currentFieldFromTheSecondClass : fieldsFromSecondClass) {
                String nameOfTheFirstField = currentFieldFromTheFirstClass.getName();
                String nameOfTheSecondField = currentFieldFromTheSecondClass.getName();

                if (!Modifier.isFinal(currentFieldFromTheFirstClass.getModifiers())) {//Dispensa os Final
                    if (!currentFieldFromTheFirstClass.isAnnotationPresent(Id.class)) {//Não sobescreve campo id
                        if (nameOfTheFirstField.equals(nameOfTheSecondField)) {
                            currentFieldFromTheFirstClass.setAccessible(true);
                            currentFieldFromTheSecondClass.setAccessible(true);
currentFieldFromTheSecondClass.get(b));
                            currentFieldFromTheFirstClass.set(a, currentFieldFromTheSecondClass.get(b));
                        }
                    }
                }
            }
        }

        return a;
    }
}





Aucun commentaire:

Enregistrer un commentaire