Java Code Examples for sun.reflect.FieldAccessor#set()
The following examples show how to use
sun.reflect.FieldAccessor#set() .
You can vote up the ones you like or vote down the ones you don't like,
and go to the original project or source file by following the links above each example. You may check out the related API usage on the sidebar.
Example 1
Source File: ReflectionUtils.java From FastAsyncWorldedit with GNU General Public License v3.0 | 6 votes |
public static void setFailsafeFieldValue(Field field, Object target, Object value) throws NoSuchFieldException, IllegalAccessException { // let's make the field accessible field.setAccessible(true); // next we change the modifier in the Field instance to // not be final anymore, thus tricking reflection into // letting us modify the static final field Field modifiersField = Field.class.getDeclaredField("modifiers"); modifiersField.setAccessible(true); int modifiers = modifiersField.getInt(field); // blank out the final bit in the modifiers int modifiers &= ~Modifier.FINAL; modifiersField.setInt(field, modifiers); try { FieldAccessor fa = ReflectionFactory.getReflectionFactory().newFieldAccessor(field, false); fa.set(target, value); } catch (NoSuchMethodError error) { field.set(target, value); } }
Example 2
Source File: ReflectionHelper.java From xmnlp with Apache License 2.0 | 5 votes |
public static void setStaticFinalField( Field field, Object value) throws NoSuchFieldException, IllegalAccessException { // 获得 public 权限 field.setAccessible(true); // 将modifiers域设为非final,这样就可以修改了 Field modifiersField = Field.class.getDeclaredField(MODIFIERS_FIELD); modifiersField.setAccessible(true); int modifiers = modifiersField.getInt(field); // 去掉 final 标志位 modifiers &= ~Modifier.FINAL; modifiersField.setInt(field, modifiers); FieldAccessor fa = reflection.newFieldAccessor(field, false); fa.set(null, value); }
Example 3
Source File: DynamicEnumType.java From Carbon-2 with GNU Lesser General Public License v3.0 | 5 votes |
private static void setField(Field field, Object target, Object value) throws NoSuchFieldException, IllegalAccessException, IllegalArgumentException, InvocationTargetException, NoSuchMethodException, SecurityException { field.setAccessible(true); Field modifiersField = Field.class.getDeclaredField("modifiers"); modifiersField.setAccessible(true); modifiersField.setInt(field, field.getModifiers() & ~Modifier.FINAL); FieldAccessor fieldAccessor = ReflectionFactory.getReflectionFactory().newFieldAccessor(field, true); fieldAccessor.set(target, value); }
Example 4
Source File: ChangeEnumValues.java From carbon-device-mgt with Apache License 2.0 | 5 votes |
private static void setFailSafeFieldValue(Field field, Object target, Object value) throws NoSuchFieldException, IllegalAccessException { field.setAccessible(true); Field modifiersField = Field.class.getDeclaredField("modifiers"); modifiersField.setAccessible(true); int modifiers = modifiersField.getInt(field); modifiers &= ~Modifier.FINAL; modifiersField.setInt(field, modifiers); FieldAccessor fa = reflectionFactory.newFieldAccessor(field, false); fa.set(target, value); }
Example 5
Source File: DynamicEnumType.java From Carbon-2 with GNU Lesser General Public License v3.0 | 5 votes |
private static void setField(Field field, Object target, Object value) throws NoSuchFieldException, IllegalAccessException, IllegalArgumentException, InvocationTargetException, NoSuchMethodException, SecurityException { field.setAccessible(true); Field modifiersField = Field.class.getDeclaredField("modifiers"); modifiersField.setAccessible(true); modifiersField.setInt(field, field.getModifiers() & ~Modifier.FINAL); FieldAccessor fieldAccessor = ReflectionFactory.getReflectionFactory().newFieldAccessor(field, true); fieldAccessor.set(target, value); }
Example 6
Source File: DynamicEnumType.java From Carbon with GNU Lesser General Public License v3.0 | 5 votes |
private static void setField(Field field, Object target, Object value) throws NoSuchFieldException, IllegalAccessException, IllegalArgumentException, InvocationTargetException, NoSuchMethodException, SecurityException { field.setAccessible(true); Field modifiersField = Field.class.getDeclaredField("modifiers"); modifiersField.setAccessible(true); modifiersField.setInt(field, field.getModifiers() & ~Modifier.FINAL); FieldAccessor fieldAccessor = ReflectionFactory.getReflectionFactory().newFieldAccessor(field, true); fieldAccessor.set(target, value); }
Example 7
Source File: Injector.java From Carbon with GNU Lesser General Public License v3.0 | 5 votes |
private static void setStaticFinalField(Field field, Object newValue) throws NoSuchFieldException, SecurityException, IllegalArgumentException, IllegalAccessException { field.setAccessible(true); Field fieldModifiers = Field.class.getDeclaredField("modifiers"); fieldModifiers.setAccessible(true); fieldModifiers.setInt(field, field.getModifiers() & ~Modifier.FINAL); FieldAccessor fieldAccessor = ReflectionFactory.getReflectionFactory().newFieldAccessor(field, true); fieldAccessor.set(null, newValue); }
Example 8
Source File: ReferenceCleanup.java From Carbon with GNU Lesser General Public License v3.0 | 5 votes |
private static void setField(Field field, Object target, Object value) throws NoSuchFieldException, IllegalAccessException, IllegalArgumentException, InvocationTargetException, NoSuchMethodException, SecurityException { field.setAccessible(true); Field modifiersField = Field.class.getDeclaredField("modifiers"); modifiersField.setAccessible(true); modifiersField.setInt(field, field.getModifiers() & ~Modifier.FINAL); FieldAccessor fieldAccessor = ReflectionFactory.getReflectionFactory().newFieldAccessor(field, true); fieldAccessor.set(target, value); }