Field field = targetClass.getDeclaredField(fieldName); field.setAccessible(true); field.set(object, value);
import java.lang.reflect.*; public class EverythingIsTrue { static void setFinalStatic(Field field, Object newValue) throws Exception { field.setAccessible(true); Field modifiersField = Field.class.getDeclaredField("modifiers"); modifiersField.setAccessible(true); modifiersField.setInt(field, field.getModifiers() & ~Modifier.FINAL); field.set(null, newValue); } public static void main(String args[]) throws Exception { setFinalStatic(Boolean.class.getField("FALSE"), true); System.out.format("Everything is %s", false); // "Everything is true" } }
/** * Resets MBeanServerFactory and ManagementFactory to a known consistent state. * This involves releasing all currently registered MBeanServers and resetting * the platformMBeanServer to null. */ public static void resetMBeanServers() throws Exception { for (MBeanServer server : MBeanServerFactory.findMBeanServer(null)) { MBeanServerFactory.releaseMBeanServer(server); } Field field = ManagementFactory.class.getDeclaredField("platformMBeanServer"); field.setAccessible(true); field.set(null, null); }
@Override public boolean postProcessAfterInstantiation(Object bean, String beanName) throws BeansException { TestBean tb = (TestBean) bean; try { Field f = TestBean.class.getDeclaredField("name"); f.setAccessible(true); f.set(tb, nameSetOnField); return !skipPropertyPopulation; } catch (Exception ex) { fail("Unexpected exception: " + ex); // Keep compiler happy about return throw new IllegalStateException(); } } });
void set(T instance, int value) { try { field.set(instance, value); } catch (IllegalAccessException impossible) { throw new AssertionError(impossible); } } }
@Test public void isDefaultJndiEnvironmentAvailableFalse() throws Exception { Field builderField = NamingManager.class.getDeclaredField("initctx_factory_builder"); builderField.setAccessible(true); Object oldBuilder = builderField.get(null); builderField.set(null, null); try { assertThat(JndiLocatorDelegate.isDefaultJndiEnvironmentAvailable(), equalTo(false)); } finally { builderField.set(null, oldBuilder); } }
void set(T instance, Object value) { try { field.set(instance, value); } catch (IllegalAccessException impossible) { throw new AssertionError(impossible); } }
@Override protected void inject(Object bean, String beanName, PropertyValues pvs) throws Throwable { Class<?> referenceClass = field.getType(); referenceBean = buildReferenceBean(reference, referenceClass); ReflectionUtils.makeAccessible(field); field.set(bean, referenceBean.getObject()); }
@Override protected void inject(Object bean, String beanName, PropertyValues pvs) throws Throwable { Class<?> referenceClass = field.getType(); referenceBean = buildReferenceBean(reference, referenceClass); ReflectionUtils.makeAccessible(field); field.set(bean, referenceBean.getObject()); }
@Override @Nullable public Object intercept(Object obj, Method method, Object[] args, MethodProxy proxy) throws Throwable { Field field = ReflectionUtils.findField(obj.getClass(), BEAN_FACTORY_FIELD); Assert.state(field != null, "Unable to find generated BeanFactory field"); field.set(obj, args[0]); // Does the actual (non-CGLIB) superclass implement BeanFactoryAware? // If so, call its setBeanFactory() method. If not, just exit. if (BeanFactoryAware.class.isAssignableFrom(ClassUtils.getUserClass(obj.getClass().getSuperclass()))) { return proxy.invokeSuper(obj, args); } return null; }
@Override void deserialize(AbstractHessianInput in, Object obj) throws IOException { java.sql.Time value = null; try { java.util.Date date = (java.util.Date) in.readObject(); if (date != null) value = new java.sql.Time(date.getTime()); _field.set(obj, value); } catch (Exception e) { logDeserializeError(_field, obj, value, e); } } }
@Override void deserialize(AbstractHessianInput in, Object obj) throws IOException { Object value = null; try { Type[] types = ((ParameterizedType)_field.getGenericType()).getActualTypeArguments(); value = in.readObject(_field.getType(), isPrimitive(types[0]) ? (Class<?>)types[0] : null ); _field.set(obj, value); } catch (Exception e) { logDeserializeError(_field, obj, value, e); } } }
@Override void deserialize(AbstractHessianInput in, Object obj) throws IOException { Object value = null; try { value = in.readObject(_field.getType()); _field.set(obj, value); } catch (Exception e) { logDeserializeError(_field, obj, value, e); } } }
@Override void deserialize(AbstractHessianInput in, Object obj) throws IOException { java.sql.Timestamp value = null; try { java.util.Date date = (java.util.Date) in.readObject(); if (date != null) value = new java.sql.Timestamp(date.getTime()); _field.set(obj, value); } catch (Exception e) { logDeserializeError(_field, obj, value, e); } } }
@Override void deserialize(AbstractHessianInput in, Object obj) throws IOException { java.sql.Date value = null; try { java.util.Date date = (java.util.Date) in.readObject(); if (date != null) value = new java.sql.Date(date.getTime()); _field.set(obj, value); } catch (Exception e) { logDeserializeError(_field, obj, value, e); } } }
@Override void deserialize(AbstractHessianInput in, Object obj) throws IOException { Object value = null; try { Type[] types = ((ParameterizedType)_field.getGenericType()).getActualTypeArguments(); value = in.readObject(_field.getType(), isPrimitive(types[0]) ? (Class<?>)types[0] : null, isPrimitive(types[1]) ? (Class<?>)types[1] : null ); _field.set(obj, value); } catch (Exception e) { logDeserializeError(_field, obj, value, e); } } }
@Override public void setValue(@Nullable Object value) throws Exception { try { ReflectionUtils.makeAccessible(this.field); this.field.set(getWrappedInstance(), value); } catch (IllegalAccessException ex) { throw new InvalidPropertyException(getWrappedClass(), this.field.getName(), "Field is not accessible", ex); } } }
@Override void deserialize(AbstractHessianInput in, Object obj) throws IOException { String value = null; try { value = in.readString(); _field.set(obj, value); } catch (Exception e) { logDeserializeError(_field, obj, value, e); } } }
/** Sets the value of the field on the supplied object. */ public void set (Object obj, Object value) throws ReflectionException { try { field.set(obj, value); } catch (IllegalArgumentException e) { throw new ReflectionException("Argument not valid for field: " + getName(), e); } catch (IllegalAccessException e) { throw new ReflectionException("Illegal access to field: " + getName(), e); } }
/** Sets the value of the field on the supplied object. */ public void set (Object obj, Object value) throws ReflectionException { try { field.set(obj, value); } catch (IllegalArgumentException e) { throw new ReflectionException("Argument not valid for field: " + getName(), e); } catch (IllegalAccessException e) { throw new ReflectionException("Illegal access to field: " + getName(), e); } }