
org.datafx.util.PrivilegedReflection Maven / Gradle / Ivy
package org.datafx.util;
import java.lang.reflect.Field;
import java.security.AccessController;
import java.security.PrivilegedAction;
public class PrivilegedReflection {
public static void setPrivileged(final Field field, final Object bean,
final Object value) {
AccessController.doPrivileged(new PrivilegedAction() {
@Override
public Void run() {
boolean wasAccessible = field.isAccessible();
try {
field.setAccessible(true);
field.set(bean, value);
return null; // return nothing...
} catch (IllegalArgumentException | IllegalAccessException ex) {
throw new IllegalStateException("Cannot set field: "
+ field, ex);
} finally {
field.setAccessible(wasAccessible);
}
}
});
}
public static Object getPrivileged(final Field field, final Object bean) {
return AccessController.doPrivileged(new PrivilegedAction
© 2015 - 2025 Weber Informatics LLC | Privacy Policy