package org.testory.testing; import java.lang.reflect.Field; import java.security.AccessController; import java.security.PrivilegedAction; import java.util.ArrayList; import java.util.List; public class Reflections { public static List<Object> readDeclaredFields(Object instance) { List<Object> values = new ArrayList<>(); try { for (final Field field : instance.getClass().getDeclaredFields()) { if (!field.isSynthetic()) { AccessController.doPrivileged(new PrivilegedAction<Void>() { public Void run() { field.setAccessible(true); return null; } }); values.add(field.get(instance)); } } return values; } catch (ReflectiveOperationException e) { throw new Error(e); } } }